webForumDet fria alternativet
Logga in / Bli medlem

Problem med INNER JOIN

Databaser & SQL

1 svar · 117 visningar · startad av Andy

Medlem sedan sep. 2001138 inlägg
Frågan#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?

Medlem 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
390 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
125 ms — deklarationer (db)
127 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)