異なるwhere句に基づいて、同じテーブルから合計レコード、成功レコード、および失敗レコードを返す3つのselectクエリがあります。ストアドプロシージャを作成するために、これらすべてのステートメントの結果を1つのテーブルに結合したいのですが、結果のテーブルには、cdr、success、failureの3つの異なる列があります。
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は結果を1つの列に表示するため、機能しません。その他のアイデア