Table1 只有一列 (customer_id) 并包含我想從分析中排除的客戶 ID 串列。
OverallSalesTable 也包含 customer_id (我想排除的所有 我想包括的其他)和其他屬性(我只保留 sale_amount 在這里)
我正在這樣做:
Select a1.customer_id, a1.sales_amount
from OverallSalesTable a1
left join Table1 a2 on a1.customer_id = a2.customer_id
where a1.customer_id not in a2.customer_id
但是最后一行會導致錯誤。
如果我改為 where a1.customer_id <> a2.customer_id ,則沒有錯誤,但它回傳一個空白表(無值)。我 100% 確定OverallSalesTable 包含一些不在Table1 中的customer_id。
有沒有很好的方法來做到這一點?
uj5u.com熱心網友回復:
只需使用NOT EXISTS. NOT EXISTS將是真或假。使用 aWHERE a = b時,您將洗掉所有具有相同值的專案。
嘗試這個:
SELECT a1.customer_id, a1.sales_amount
FROM OverallSalesTable a1 left join Table1 a2
ON a1.customer_id = a2.customer_id
WHERE NOT EXISTS
(SELECT a2.customer_id FROM Table1 WHERE a1.customer_id = a2.customer_id)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491581.html
上一篇:為什么nvl在oracle的concat函式中不起作用?[復制]
下一篇:如何使用sql連接兩個總表?
