我已经创建了代表以下内容的示例数据(实际数据库中每条记录大约有30个字段,该表中有60k条记录)
Customer_ID | CaseType | CaseStatus | DateOpened | DateClosed |
---|---|---|---|---|
100 | Letter | Letter | 01/01/2023 | 01/03/2023 |
100 | Call | Call | 01/02/2023 | 01/04/2023 |
200 | Letter | Letter | 01/01/2023 | 01/03/2023 |
例如,我需要返回符合以下条件的所有"Customer_ID":
- "CaseType = Letter"
- "DateClosed = 01/03/2023" 除非存在匹配的具有"CaseType = Call"的"Customer_ID",而不考虑任何其他字段.
所以基本上从上面我只有一个记录结束,那就是"Customer_ID = 200",因为它有"CaseStatus='Letter'",没有匹配的调用,它在2023年1月3日关闭.
以下是我try 过的:
SELECT DISTINCT Customer_ID
WHERE CaseType = 'Letter' AND DateClosed = '01/03/2023'
这显然会同时返回IF
和200,但我不能计算出"除非匹配Customer_ID和CaseType=Call"部分.我猜它可能涉及IF
命令,或者NOT IF
(如果真的存在的话).
如有任何指示或协助,我们将不胜感激.