SELECT语句检索从未发生过的事情

Ama*_*ndo 3 sql sql-server-2008

我有这些列的CallHistory表:

CustomerId, TimeOfCall, CallResult
Run Code Online (Sandbox Code Playgroud)

在CallResult中,我可能有以下价值观:'下订单','请求退货','技术问题','询问定价'等.

我希望SELECT CustomerId FROM CallHistory WHERE客户至少有一次'询问定价',但从未'放置订单'.

谢谢!

Joe*_*lli 6

SELECT DISTINCT c.CustomerId
    FROM CallHistory c
    WHERE c.CallResult = 'inquired about Pricing'
        AND NOT EXISTS(SELECT 1
                           FROM CallHistory c2
                           WHERE c2.CustomerId = c.CustomerId
                               AND c2.CallResult = 'Placed Order')
Run Code Online (Sandbox Code Playgroud)