2

同じテーブルで次の 3 つのクエリの結果を合計して、1 つのレポートを生成しようとしています。

SELECT b.BG_SEVERITY as Severity, count (b.BG_BUG_ID) as Total
FROM BUG b where
 b.BG_USER_12='QA3'
 group by b.BG_SEVERITY

SELECT s.BG_SEVERITY as Severity, count (s.BG_BUG_ID) as Total
FROM BUG s where
 s.BG_USER_12='QA1'
 group by s.BG_SEVERITY

SELECT a.BG_SEVERITY as Severity, count (a.BG_BUG_ID) as Total
FROM BUG a where
 a.BG_USER_12='QA2'
 group by a.BG_SEVERITY

各クエリの結果は次のようになります。

Severity   Total
1-Critical  4
2-High      94
3-Medium    23
4-Low       45

上記の 3 つのクエリの「合計」列を結合/合計しようとしています。これを行うために SQL のどの機能を使用できますか?

4

2 に答える 2

2

状態でお使いいただけINます。

SELECT   b.BG_SEVERITY as Severity, 
         COUNT(b.BG_BUG_ID) as Total
FROM     BUG b 
WHERE    b.BG_USER_12 IN ('QA3','QA1','QA2')
GROUP BY b.BG_SEVERITY
于 2012-08-28T05:48:54.687 に答える
2

sql-server を使用している場合は、union の使用を試すことができます。このようなもの:

SELECT
    Severity,
    SUM(Total)
FROM
    (
    SELECT b.BG_SEVERITY as Severity, count (b.BG_BUG_ID) as Total FROM BUG b where b.BG_USER_12='QA3' group by b.BG_SEVERITY
    UNION ALL
    SELECT s.BG_SEVERITY as Severity, count (s.BG_BUG_ID) as Total FROM BUG s where s.BG_USER_12='QA1' group by s.BG_SEVERITY    
    UNION ALL 
    SELECT a.BG_SEVERITY as Severity, count (a.BG_BUG_ID) as Total FROM BUG a where a.BG_USER_12='QA2' group by a.BG_SEVERITY
    ) tbl
GROUP BY
    Severity
于 2012-08-28T05:48:20.583 に答える