这里的总和是我对查询的相当大的表(SQL Server 2005中)的摘录:订购SQL查询通过specefic列
id (primary key) | account | phone | employee | address
------------------------------------------------------------------
1 | 123 | Y | Y | N
2 | 456 | N | N | N
3 | 789 | Y | Y | Y
我只需要返回至少有行一个Y在电话,员工或地址中(其中约有10人未在此处显示)。那么我需要根据他们在三者中任何一个中的Y的数量来排列这些结果。
我试图让“tagTotal”是这样的:
SELECT
SUM(
CASE WHEN [phone] = 'Y' THEN 1 ELSE 0 END
+ CASE WHEN [employee] = 'Y' THEN 1 ELSE 0 END
+ CASE WHEN [address] = 'Y' THEN 1 ELSE 0 END
)
FROM table
GROUP BY id
这将返回:
tagTotal
---------------
2
0
3
我就如何将它与我现有的巨头查询合并亏损和按顺序排列,最后不添加每列。
由于您不需要在行之间进行求和,因此请进行内联求和。 – xQbert