這裏的總和是我對查詢的相當大的表(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