webForumDet fria alternativet

Hämtar från 3 tabeller men får inte med allt..

Databaser & SQL

6 svar · 665 visningar · startad av evilaid

Medlem sedan apr. 2009433 inlägg
Frågan#1

Hej

hade två tabeller A och B, använder inner join för dessa och matchar med kolumnen ID alltså inner join ON A.id= B.id.

Nu vill jag lägga till en tredje tabell också. Tredje tabellen C innehåller också kolumnen id. Saken är den att det är inte säkert att det finns en post för med rätt id. Alltså tabellen är inte komplett utan det kan saknas poster för vissa id´n. såg. Problemet är då att jag inte får med de poster där id saknas i tabell C.

Frågan är så här:
SELECT A.id, B.id, C.id
FROM A.id INNER JOIN
B.id ON A.id = B.id
INNER JOIN
A.id = C.id
WHERE (A.datum = '2010-02-03')

Jag vill ju alltså få med posterna i A och B även om det inte finns en post i C?

Hoppas jag inte är för snurrig i min förklaring..

Mvh

Medlem sedan juni 200032 967 inlägg
#2

Du får joina in C med en LEFT OUTER JOIN istället för en inner join.

(Din SQL-fråga ser rätt skum ut - jag antar att den inte ser ut exakt så på riktigt?)

Mvh

Medlem sedan apr. 2009433 inlägg
#3

Stort tack @nders. funkade klockrent. Aldrig sett den funktion förut men får läsa lite om den:)

Medlem sedan juni 200032 967 inlägg
#4

Bra att det funkade!

Använd gärna "Markera som lösning" så blir det lättare för andra att hitta lösningar på liknande frågor.

mvh

Medlem sedan juni 200032 967 inlägg
#5

Jag menade att du skulle markera det inlägget som faktiskt innehöll lösningen - det underlättar då man kan komma direkt till rätt inlägg när man söker. :)

Medlem sedan apr. 2009433 inlägg
#6

hahah, jag hör dig.. Sorry, var lite snabb där... Men man lär sig:)

Medlem sedan juni 200032 967 inlägg
#7

(y) :)

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)