【发布时间】:2012-10-06 22:31:00
【问题描述】:
我有三个选择查询,它们根据不同的 where 子句从同一张表中返回总记录、成功记录和失败记录。我想将所有这些语句的结果合并到一个表中以创建我的存储过程,但结果表应具有 cdr 、 success 、 failure 三个不同的列
SELECT Count(*) AS cdr
FROM ABC AS c WITH (NOLOCK)
WHERE APPID IN( 1, 2 )
AND CALLDATE = '2012-10-09'
SELECT Count(*) AS success
FROM ABC AS d WITH (NOLOCK)
WHERE APPID IN( 44, 45 )
AND CALLDATE = '2012-10-09'
AND HANGUPCODE IN ( 'man', 'mach' )
SELECT Count(*) AS fail
FROM ABC WITH (NOLOCK)
WHERE APPID IN( 44, 45 )
AND CALLDATE = '2012-10-09'
AND HANGUPCODE NOT IN ( 'man', 'mach' )
Union 在一列中给出结果,所以它不起作用。任何其他想法
【问题讨论】:
-
我不明白,你想要一个只有一行 3 列的结果集吗?
标签: sql sql-server stored-procedures