0

除了所有这些之外,我还需要能够只选择具有 IsActive = 1 的记录:

SELECT DISTINCT 0 as CommunityID,  

                    CASE Libname
                        WHEN 'RKHL' THEN 'ROCK HILL'
                        WHEN 'FTML' THEN 'FORT MILL'
                        WHEN 'LANC' THEN 'LANCASTER'
                        WHEN 'BREV' THEN 'BREVARD'
                        WHEN 'PBTC' THEN 'MIDLANDS-CLEC'
                        WHEN 'PBTI' THEN 'MIDLANDS-ILEC'

                    END AS CommunityDesc,

                    LibName,
                    LibName + '|' AS FilterByID,
                    IsActive 
                    FROM Reference.dbo.Community
                    WHERE LibName <> 'CAROTEL' 
                    UNION
                    SELECT CommunityID, RTRIM(COMMNAME) AS CommunityDesc, LibName, LibName + '|' + RTRIM(COMMNAME) AS FilterByID, IsActive
                    FROM Reference.dbo.Community 

                    WHERE LibName <> 'CAROTEL'
                    ORDER BY 1,3;
4

2 回答 2

1

添加IsActive=1到联合两边的 WHERE 子句。

于 2012-06-04T19:35:43.167 回答
1

您可以通过这种方式过滤结果集:

 SELECT * 
    FROM (
    SELECT DISTINCT 0 as CommunityID,  

                    CASE Libname
                        WHEN 'RKHL' THEN 'ROCK HILL'
                        WHEN 'FTML' THEN 'FORT MILL'
                        WHEN 'LANC' THEN 'LANCASTER'
                        WHEN 'BREV' THEN 'BREVARD'
                        WHEN 'PBTC' THEN 'MIDLANDS-CLEC'
                        WHEN 'PBTI' THEN 'MIDLANDS-ILEC'

                    END AS CommunityDesc,

                    LibName,
                    LibName + '|' AS FilterByID,
                    IsActive 
                    FROM Reference.dbo.Community
                    WHERE LibName <> 'CAROTEL' 
                    UNION
                    SELECT CommunityID, RTRIM(COMMNAME) AS CommunityDesc, LibName, LibName + '|' + RTRIM(COMMNAME) AS FilterByID, IsActive
                    FROM Reference.dbo.Community 

                    WHERE LibName <> 'CAROTEL'
) i
WHERE IsActive = 1
ORDER BY 1,3;
于 2012-06-04T19:37:24.587 回答