0
我想篩選查詢的結果,我不能完全得到我正在尋找的行爲。什麼加入將完成我的目標? (在SQL中篩選)
我有一個表項有主鍵ID。
有幾個屬性可能存在,這是「可能」,導致我的問題。如果該屬性得到滿足或者該屬性不存在,我希望該項目包含在結果中。
對於必須存在的屬性,我使用INNER JOIN
來得到我想要的。
對於那些可能存在我得到的結果,其中屬性滿足,但不是空的地方。
例如
SELECT id, name
FROM item
INNER JOIN itemWhereTable ON
(item.id = itemWhereTable.itemID AND itemWhereTable.locationID = 13)
INNER JOIN itemColorTable ON
(item.ID = itemColorTable.itemID AND itemColorTable.ColorID = 2)
WHERE
item.minCost <=50
我也想看看那裏的ColorId未設置結果(即一些包裝是通用的,只有特定的人進行跟蹤),即在第二INNER JOIN
返回一個空結果。我試過LEFT JOIN
,但它似乎不是我所需要的。任何人都可以將我指向正確的方向嗎?
u能做到'和itemColorTable.ColorID IS NULL'? – dave 2013-05-07 22:18:26
@dave會這樣產生嗎,因爲連接產生了一個臨時行,其中有物品ID但沒有任何可匹配的地方? – Stephen 2013-05-07 22:19:26
只要它有一個ItemID和ColorID沒有設置,它會顯示ID和名稱 – dave 2013-05-07 22:22:02