Toon posts:

[sql] JOIN-tablename afhankelijk van waarde vorig field

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een tabel met daarin een aantal velden.
De twee belangrijkste zijn:

[type] [type_id]

Als het type `a` is, dan heeft het type_id een relatie met tabel `a`.
Echter, als het type `b` is, dan heeft het type_id een relatie met tabel `b`.
Is het mogelijk om met 1 query te constateren welke table ge-joined moet worden?

Ik zou bij-god niet weten waar ik moet beginnen..
Normale joins kan ik zeker maken, maar nu is de te joinen table afhankelijk van de waarde van het veld [type].

Iemand enig idee of dit kan?? Danwel een stukje pseudo?

Verwijderd

ik zou niet weten waarvoor je zoiets zou willen gebruiken, maar oke :)

hierbij een voorbeeld van een dynamische sql query.

code:
1
2
3
4
5
6
7
8
declare @vchSql varchar(8000)
declare @vchTabelNaam varchar(10)

set @vchTabelNaam = 'tbMessages'

set @vchSql = 'select * from ' + @vchTabelNaam 

exec (@vchSql)


Dit is trouwes "TSQL" (van MsSQL, dus weet niet of je hier wat aan hebt)

[ Voor 15% gewijzigd door Verwijderd op 10-08-2004 13:54 ]


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Je kunt toch met beide tabellen (outer) joinen?
Welke je toont kun je vervolgens bepalen aan de opgehaalde gegevens.

Who is John Galt?


Verwijderd

Topicstarter
justmental schreef op 10 augustus 2004 @ 13:49:
Je kunt toch met beide tabellen (outer) joinen?
Welke je toont kun je vervolgens bepalen aan de opgehaalde gegevens.
Is inmiddels ook mijn oplossing, benalleen benieuwd of het fraaier kan..
Maar dit werkt vooralsnog prima inderdaad.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09:13

Janoz

Moderator Devschuur®

!litemod

code:
1
2
a left join b on a.type='b' AND a.type_id = b.id
left join c on a.type='c' AND a.type_id = c.id


Dit is even een hersenspinsel, geen ID of het werkt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'