0

我正在尝试编写一个 SQL Server 2008 查询,它将数据输出到小计列中。我的 SQL 技能仍然很差,所以我真的需要一些帮助。

我有两张桌子,A和B。

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

我要做的是编写一个 SQL 语句,该语句生成一个四列输出,通过 zip 总结答案。像这样:

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 回答