[英]How to see all data from one table and filtered on another, when using a join query (oracle sql)
一旦我執行拆分,我希望看到以下 3 件事:
除了第 2 點之外,我在下面的查詢獲得了大部分權利,因為它只返回事務 5 和 6 而不是完整列表。 我能改變什么?
SELECT * FROM customers c
INNER JOIN transactions t ON c.custid = t.custid
INNER JOIN purchaces p ON t.transid = p.transid
WHERE c.customer = 1234 AND t.trans_num IN (5,6)
ORDER BY t.trans_num
您在 where 語句中明確過濾記錄 5 和 6。 您可以使用該條件 LEFT JOIN 購買表。 您將獲得所有交易,但如果購買列不屬於交易 5 或 6,則它們將為 NULL。
SELECT *
FROM customers c
INNER JOIN transactions t
ON c.custid = t.custid
LEFT JOIN purchaces p
ON t.transid = p.transid
AND t.trans_num IN (5,6)
WHERE c.customer = 1234
ORDER BY t.trans_num
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.