我現在有一個SQL查詢的設置,但我希望它忽略0的在min_on_hand
列值,而我似乎無法找出爲什麼這不起作用SQL與左連接顯示爲0的
SELECT
sku_master.sku,
sku_master.description,
sku_master.min_on_hand,
sku_master.max_on_hand,
x.total_qty_on_hand
FROM
[FCI].dbo.[sku_master]
LEFT JOIN
(SELECT
sku_master.sku,
sum(location_inventory.qty_on_hand) as total_qty_on_hand
FROM
[FCI].[dbo].[location_inventory]
JOIN
[FCI].dbo.[sku_master] ON location_inventory.sku = sku_master.sku
WHERE
sku_master.min_on_hand > 0
GROUP BY
sku_master.sku) x ON sku_master.sku = x.sku;
你的意思是你不希望顯示與min_on_hand =記錄0? – RezaRahmati 2015-04-01 13:23:39
它看起來像你的唯一的左連接,如果他們是> 0,而不是過濾最終結果。您可以嘗試一個INNER JOIN,或者將WHERE子句放在原始查詢上,而不是嵌套的SELECT。 – 2015-04-01 13:26:20
您的WHERE sku_master.min_on_hand> 0在子查詢中。它應該在主查詢中嗎? – LeeG 2015-04-01 13:26:31