0

小計の列にデータを出力するSQLServer2008クエリを作成しようとしています。私のSQLスキルはまだかなり貧弱なので、私は本当にいくつかの助けを使うことができました。

AとBの2つのテーブルがあります。

A.user (unique) 
A.answer  <- can only be one of two answers, 'Answer1' or 'Answer2' 
B.user (unique) 
B.zip

私がやろうとしているのは、回答をzipで要約した4列の出力を生成するSQLステートメントを作成することです。このような:

Zip    Answer1    Answer2   Total
----------------------------------
12345     25        22        47
23456     7          0         7
45678     0         15        15

賢者のアドバイスはありますか?

ありがとう!

-トニー

4

1 に答える 1

3

これがあなたに必要なものだと思います:

SELECT B.Zip 
     , SUM(CASE WHEN answer='Answer1' THEN 1 ELSE 0 END)AS Answer1
     , SUM(CASE WHEN answer='Answer2' THEN 1 ELSE 0 END)AS Answer2
     , COUNT(*) AS Total
FROM A INNER JOIN B ON A.[user] = B.[user]
GROUP BY B.Zip

これがフィドルです:http ://sqlfiddle.com/#!3/60916/2/0

于 2012-10-13T15:38:03.650 に答える