我會盡力解釋這是我能做到的最好方式。SQL查詢與INNER JOIN作出返回特定值,如果匹配一個數字
我有一個SQL查詢與3個表匹配兩個ID(即我有一個'Item'表和一個'itemType'表。item.itemTypeID與itemType.id鏈接)。
在我的代碼中,如果沒有與Item關聯的ItemType,那麼item.itemTypeID設置爲-1。
但是,當涉及到這個查詢,沒有這樣的ID爲-1的itemType,所以它不會回來的記錄。
我需要它返回所有具有itemType的記錄,但也包含itemType爲-1的所有記錄,並將相關的返回元素設置爲NULL。
我的SQL查詢如下;
` SELECT items.id
, items.code
, items.description
, items.expirydate
, items.batchnumber
, items.serialnumber
, items.orderref
, items.datepurchased
, items.price
, items.consigcalloff
, items.commodity_qty
, itemtypes.code
, itemtypes.description
, locations.code
, locations.description
, keepers.code
, keepers.fname
, keepers.lname
FROM items inner join itemtypes ON items.type = itemtypes.id inner join keepers ON items.keeper = keepers.id inner join locations ON items.location = locations.id`
左連接也許? – geekchic
-1值是否實際存儲在items.ItemTypeID的items表中?或者是否定義了pk-fk關係來防止這種情況? – xQbert