webForumDet fria alternativet

Problem med INNER JOIN

1 svar · 115 visningar · startad av Andy

AndyMedlem sedan sep. 2001138 inlägg
#1

Halloj

Har två tabeller som i stort sett ser ut så här, om man skalar bort onödig information:

Table1:
ID (räknare)
User1ID
User2ID

TableUsers:
ID (räknare)
Name

Nu vill jag göra en inner join mellan table1.User1ID - TableUsers.ID samt table1.User2ID - TableUsers.ID

Just nu ser det ut så här:

SELECT *
FROM table1 t1
INNER JOIN tableUsers tu1 ON t1.User1ID = tu1.ID
INNER JOIN tableUsers tu2 ON t1.User2ID = tu2.ID

Problemet är bara att fältet table1.User2ID ibland är tomt, dvs det innehåller ett null-värde. När detta inträffar så vill inte SQL-satsen ovan fungera, vilket inte är så konstigt, eftersom <NULL> inte finns som värde i tableUsers. Hur kommer man runt detta?

LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT *
FROM tableUsers tu1 INNER JOIN table1 t1 ON tu1.ID = t1.User1ID 
left outer JOIN tableUsers tu2 ON t1.User2ID = tu2.ID

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 05 nov 2001]

[Redigerat av LarsG den 05 nov 2001]

131 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)