此SQL的目的是:从Sys_VIEW_SaleQuoteEmail查出七月份业务员'CPSR7'给等级d,e的客户发了大于一次email的客户的数量。
我写SQL的逻辑,先找出给哪些客户发了超过一次结果是
A001
A002
再算有几个客户

SELECT COUNT(DISTINCT str_KehuID) AS Expr1
FROM dbo.Sys_VIEW_SaleQuoteEmail
WHERE (str_KehuID IN
          (SELECT str_KehuID
         FROM Sys_VIEW_SaleQuoteEmail
         WHERE str_KehuID IN
                   (SELECT str_KehuID
                  FROM Sale_CustomerMTL
                  WHERE (str_Level = 'd' OR
                        str_Level = 'e') AND str_UserID = 'CPSR7'
) AND
               dat_OnDataTime BETWEEN '2005-7-1' AND '2005-7-31'
         GROUP BY str_Kehuid
         HAVING COUNT(*) > 1
))

总感觉写的麻烦了

Posted on 2005-10-13 17:51  Blue  阅读(472)  评论(2)    收藏  举报