我正在編寫一個映射器來從我的數據庫中獲取信息。帶有連接和可選匹配的SQL查詢
這裏是數據庫:
SPEL(ID,NAAM)
spelbord(ID,spel_id,電平)
FK spel_id - > ID中spel
veld(spelbord _id,POSX,POSY,veldNr,isTarget,Toegang)
FK spelbord_id - >在spelbord
entiteit(spelbord_id,POSX,POSY,entiteitNr)
FK spelbord_id ID - > spelbord_id在草原
FK POSX - > POSX在草原
FK POSY - > POSY在草原
所以我想我的查詢給我: posX,posY,veldNr,Toegang,isTarget(和entiteitnr,如果它存在的話)每個veld。
例如:
1, 2, 1, true, false, 1
(有對這個草原的entiteit),或
1, 3, 1, true, false, null
(有對這個草原沒有entiteit)。
這是我的查詢,但它似乎沒有工作
select v.posX, v.posY, v.veldNR, v.toegang, v.isTarget, i.EntiteitNr
from spel as s
join spelbord as sb ON sb.Spel_ID = s.ID
join veld v ON sb.id = v.Spelbord_id
join entiteit i ON v.PosX = i.veld_PosX AND v.PosY = i.veld_PosY
order by posX,posY
與此查詢我只得到輸出,其中確有與它連接的entiteit。
我需要更改哪些行以獲得沒有entiteit匹配的行?
使用'left join'而不是'inner join' – 2015-04-01 14:31:50