Hämta data ur flera tabeller i samma query

Databaser & SQL

2 svar · 297 visningar · startad av learn

Medlem sedan jan. 20051 130 inlägg
Trådstart#1

Jag vill kontrollera ifall en avändare tillhör en grupp. Användaren finns i tabellen "user" och gruppen finns i tabellen "group", problemet är att det inte finns någon direkt koppling mellan "user" och "group", det finns nämligen ytterligare en tabell vid namn "person". "person" innehåller personers namn och dess användar-ID (kopplat till ID-nummer i "user"). "group" innehåller bl.a. personID (kopplat till ID-nummer i "person").

Hur ska jag göra för att ta reda på om användaren tillhör en grupp, gärna i en och samma sql-query. Ganska simpelt problem för er erfarna, men jag vet inte...

Tack på förhand!

Medlem sedan dec. 200012 464 inlägg
#2
select 'Y' 
from usertable
where idNummer in 
(select idNummer 
  from persontable
 where personid in 
  (select personID
      from GROUPtable
    where groupname = 'Radikala baptister i övre Kågedalen')
 and personName = 'LarsG')

Du får väl anpassa tabell- och kolumnnamn.

Medlem sedan dec. 19996 721 inlägg
#3

Hmm...blir inte nettoresultatet av den query:n ändå en inner join?

select 'Y' 
from usertable u, persontable p, GROUPtable g
where u.idNummer=p.idNummer and p.personid=g.personID
and p.personName='LarsG' and g.groupname='Radikala baptister i övre Kågedalen'
259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)