首页 > 解决方案 > 非互斥案例陈述

问题描述

如何编写此查询以使这些段不互斥?似乎一旦在“DMA”存储桶中找到一条记录,它就会被排除在其他文件中的查找之外。我需要查看何时在所有文件中找到记录。

SELECT LastName
    ,Address1
    ,Address2
    ,City
    ,Zip
    ,DealerRegion
    ,SuppressionReason
    ,max(CASE 
            WHEN [File] = 'DMA'
                THEN 1
            ELSE 0
            END) AS InDMAFile
    ,max(CASE 
            WHEN [File] = 'VEH'
                THEN 1
            ELSE 0
            END) AS InVEHFile
    ,max(CASE 
            WHEN [File] = 'LST'
                THEN 1
            ELSE 0
            END) AS InLSTFile
    ,max(CASE 
            WHEN [File] = 'V12'
                THEN 1
            ELSE 0
            END) AS InV12File
    ,max(CASE 
            WHEN emailaddress IS NOT NULL
                THEN 1
            ELSE 0
            END) AS HasEmail
    ,max(CASE 
            WHEN Emailable = 'Y'
                THEN 1
            ELSE 0
            END) AS CanEmail
FROM mytable
WHERE SuppressionReason IS NULL
GROUP BY LastName
    ,Address1
    ,Address2
    ,City
    ,Zip
    ,DealerRegion
    ,SuppressionReason

标签: sqlsql-server

解决方案


推荐阅读