我有 2 張桌子。current_inv 和 qb_inventory_levels_v。我想通過部件號加入這些,同時還允許它仍然顯示其中一個表中只有部件號的行。前任:
| part_number_a | part_number_b | 數量_a | 數量_b |
|---|---|---|---|
| ABCDEFG | ABCDEFG | 1個 | 3個 |
| ZYXW | 無效的 | 2個 | 無效的 |
| 無效的 | 萬維網 | 無效的 | 1個 |
我目前的查詢只給我它們重疊的地方。我曾嘗試在 stackoverflow 上尋找其他答案,但未能找到適合我的確切問題的答案。預先感謝您的任何幫助。我當前的查詢是:
SELECT * FROM (SELECT part_number, COUNT(part_number) AS current_inv_qty FROM utility_views.current_inv GROUP BY part_number) sub_2
JOIN (SELECT part_number, SUM(quantityonhand) AS qb_qty FROM qb_inventory_levels_v a GROUP BY part_number) sub_1 ON sub_1.part_number = sub_2.part_number
WHERE current_inv_qty > qb_qty
uj5u.com熱心網友回復:
帶有可空檢查的左連接應該適合您。
左連接確保您始終在輸出中獲得查詢 sub_2 回傳的所有 part_numbers。
有必要添加條件 OR qb_qty IS NULL 以迎合那些在 sub_1 中沒有部件號的行
SELECT *
FROM (SELECT part_number, COUNT(part_number) AS current_inv_qty
FROM utility_views.current_inv
GROUP BY part_number) sub_2
LEFT JOIN (SELECT part_number, SUM(quantityonhand) AS qb_qty
FROM qb_inventory_levels_v a GROUP BY part_number) sub_1
ON sub_1.part_number = sub_2.part_number
WHERE (current_inv_qty > qb_qty
OR qb_qty IS NULL)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/533974.html
標籤:数据库数据库子查询
上一篇:列出與JONES有相同作業的人員姓名和作業,但不顯示JONES記錄
下一篇:從列串列中查找最近(非未來)日期
