我正在创建一个基于多个表联合在一起的视图,我试图只包含有记录的结果。这是我到目前为止的代码:
SELECT
'001' AS ReportNumber
,'RPT001' AS ReportName
,ISNULL(SUM(1),0) AS ActiveReportCount
FROM [DBNAME].[dbo].[V_Rpt001]
UNION ALL
SELECT
'002' AS ReportNumber
,'RPT_002' AS ReportName
,ISNULL(SUM(1),0) AS ActiveReportCount
FROM [DBNAME].[dbo].[V_Rpt001]
WHERE SUM(1)> 0
这不起作用,因为它希望按某种方式对其进行分组,但唯一的其他选择是文字。
感谢任何帮助。
由于
答案 0 :(得分:1)
这是你想要的吗?
SELECT *
FROM ((SELECT '001' AS ReportNumber, 'RPT001' AS ReportName, ISNULL(SUM(1),0) AS ActiveReportCount
FROM [DBNAME].[dbo].[V_Rpt001]
) UNION ALL
(SELECT '002' AS ReportNumber, 'RPT_002' AS ReportName, ISNULL(SUM(1),0) AS ActiveReportCount
FROM [DBNAME].[dbo].[V_Rpt001]
)
) r
WHERE ActiveReportCount > 0;