解决方案 »

  1.   


    这个语句我觉得最少要在WorkshopNo建有索引(或覆盖索引),然后使用如下:
     SELECT SUM(CASE WHEN ClaimStatus in ('A1F','A2F') THEN 1 ELSE 0 END) AS 'WaitForA', 
    SUM(CASE WHEN ClaimStatus in('N','N1F','N2F') THEN 1 ELSE 0 END) AS 'WaitForT', 
    SUM(CASE WHEN ClaimStatus = 'E' THEN 1 ELSE 0 END) AS 'WaitForC', 
    SUM(CASE WHEN ClaimStatus = 'RE' THEN 1 ELSE 0 END) AS 'Rejected' ,
    SUM(CASE WHEN ClaimStatus in('N1S','N2S') THEN 1 ELSE 0 END) AS 'PbWS' 
        FROM Claim AS Claim WHERE Claim.RequestType = 'CR'
        AND ClaimStatus in ('A1F','A2F','NEW','N2F','N1F','E','RE','N1S','N2S')
        AND exists(select 1 FROM User_Workshop AS B 
    WHERE UserID = 'ABC' and WorkshopNo=B.WorkshopId)