2010-11-19 17 views
0

私は、vQuestion1、vQuestion2、vQuestion3という3つのビューを持っています。それぞれには、結果と合計という2つの列があります。T SQL個別のビューからのみ

「結果」列には、「該当なし」、「改善済み」、「改善されていません」などの値を指定できます。各結果に合計スコアがあります。すなわちQuestion2はNを持っていない、いないすべての答えは、それぞれの質問に存在することに注意してください

Total Answers 
Outcome  Total 
N/A   17 
Improved  33 
Not Improved 24 

を:私は合計は次のように結果を作成するために一緒に加算され、結果を作成する必要が

vQuestion1    vQuestion2    vQuestion3 
Outcome  Total  Outcome  Total  Outcome  Total 
N/A   12   Improved  10  N/A   5 
Improved  10   Not Improved 20  Improved 13 
Not Improved 4 

/A。

答えて

1

まずUNION ALLを行い、その後SUM

何かのSQLServer 2005+

;WITH Vals AS (
     SELECT * 
     FROM vQuestion1 
     UNION ALL 
     SELECT * 
     FROM vQuestion2 
     UNION ALL 
     SELECT * 
     FROM vQuestion3 
) 
SELECT Outcome, 
     SUM(Total) Total 
FROM Vals 
GROUP BY Outcome 

それとも

SELECT Outcome, 
     SUM(Total) Total 
FROM (
      SELECT * 
      FROM vQuestion1 
      UNION ALL 
      SELECT * 
      FROM vQuestion2 
      UNION ALL 
      SELECT * 
      FROM vQuestion3 
     ) Vals 
GROUP BY Outcome 
+0

などのおかげでAstander、私はあなたの第二の例を使用し、それが働きました初めて!とても有難い。 – Mitch