![](/img/trans.png)
[英]Keep null relations on WHERE IN() or with SELECT and LEFT JOIN
[英]Select where Join is Null
我有兩張桌子,一張有物品,第二張有庫存。 我想選擇沒有庫存的項目。 在這種情況下,第二個表中沒有數據。
表格1
ID Item
01 Car
02 Bike
03 Motorbike
表2
ID Amount
01 1
02 -1
因此,商品03當前無庫存。
我的SQL看起來像這樣
SELECT
ITEM.ITEMNR,
LAGERBESTAND.AMOUNT
FROM
ITEM
INNER JOIN STOCKAMOUNT ON STOCKAMOUNT.ITEMLFDNR = ITEM.LFDNR
GROUP BY
ITEM.ITEMNR,
STOCKAMOUNT.AMOUNT
HAVING
STOCKAMOUNT.AMOUNT = 0
原因“存貨量= 0”不起作用。
您需要左外部連接,內部連接將僅返回滿足連接條件的行。
我認為您不需要為此分組。
這通過使用左聯接來工作。
SELECT
ITEM.ITEMNR,
coalesce(STOCKAMOUNT.AMOUNT,0) amount
FROM ITEM
LEFT JOIN STOCKAMOUNT
ON STOCKAMOUNT.ITEMLFDNR = ITEM.LFDNR
WHERE STOCKAMOUNT.ITEMLFDNR IS NULL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.