webForumDet fria alternativet
Logga in / Bli medlem

Join problem

Databaser & SQL

3 svar · 265 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Trådstart#1

Jag har tre tabeller som innehåller bl.a detta

Lokaler
LokalID
Namn

Ansvarig
AnsvarigID
FNamn
ENamn

Bokningar (referenstabell)
BokningsID
LokalID
AnsvarigID
UtbildningsID

Jag har UtbildningsID till Bokningar men vill hämta
Namn från Lokaler
FNamn o Enamn från Ansvarig

Hur gör man en sån join enklast?

Medlem sedan dec. 20025 483 inlägg
#2
select l.namn
     , a.fnamn
     , f.enamn
  from lokaler l
inner
  join bokningar b
    on l.lokalid = b.lokalid
inner
  join ansvarig a
    on a.ansvarigid = b.ansvarigid
 where b.utbildningsid = <uid>
Medlem sedan juni 200032 967 inlägg
#3

Eftersom du inte berättar vad du använder för dbms får mitt svar bli ganska generellt.

SELECT <fält>
FROM Bokningar
INNER JOIN Lokaler ON Bokningar.LokalID = Lokaler.LokalID
INNER JOIN Ansvarig ON Bokningar.AnsvarigID = Ansvarig.AnsvarigID
WHERE Bokningar.UtbildningsID = 4711

eller

SELECT <fält> 
FROM Bokningar B, Ansvarig A, Lokaler L
WHERE B.AnsvarigID = A.AnsvarigID
AND B.LokalID = L.LokalID
AND B.UtbildningsID = 4711

Typ.

Medlem sedan juni 20006 031 inlägg
#4

Det har du rätt i. Glömde skriva att det är MSSQL.

Ska testa lite nu så löser det sig nog.

249 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)