[英]Same select criteria with multiple where conditions in SQL Server
當表中需要相同的字段但where條件不同時,是否可以執行類似的操作?
我已經嘗試過這樣做,但是其中缺少一些東西,這就是為什么它無法正常工作的原因。
;WITH ProductsCTE (PSC_Score_0_11, PSC_Score_12_18, PSC_Score_19_23,
PSC_Score_24_34, PSC_Score_35_50, PSC_Score_51_100,
Total AS
(
SELECT
SUM(CONVERT(int, PSC_Score_0_11)) AS PSC_Score_0_11,
SUM(CONVERT(int, PSC_Score_12_18)) AS PSC_Score_12_18,
SUM(CONVERT(int, PSC_Score_19_23)) AS PSC_Score_19_23,
SUM(CONVERT(int, PSC_Score_24_34)) AS PSC_Score_24_34,
SUM(CONVERT(int, PSC_Score_35_50)) AS PSC_Score_35_50,
SUM(CONVERT(int, PSC_Score_51_100)) AS PSC_Score_51_100,
(SUM(CONVERT(int, PSC_Score_0_11)) + SUM(CONVERT(int, PSC_Score_12_18)) +
SUM(CONVERT(int, PSC_Score_19_23)) + SUM(CONVERT(int, PSC_Score_24_34)) +
SUM(CONVERT(int, PSC_Score_35_50)) + SUM(CONVERT(int, PSC_Score_51_100))) AS Total
FROM
VillageLevelPscData
)
SELECT *
FROM ProductsCTE
WHERE [DISTRICT_NAME] = 'ABC'
UNION ALL
SELECT *
FROM ProductsCTE
WHERE [DISTRICT_NAME] = 'DEF'
我想得到的結果是“ PSC_Score_0_11”和其他的總和,其中district ='ABC'和district ='DEF'並將它們全部合並到一個表中。
我收到此查詢錯誤:
關鍵字“ AS”附近的語法不正確。
我想獲得每個地區的類似結果。
我猜您想要:
select district_name,
sum(CONVERT(int,PSC_Score_0_11 )) as PSC_Score_0_11,
sum(CONVERT(int,PSC_Score_12_18 )) as PSC_Score_12_18,
sum(CONVERT(int,PSC_Score_19_23 )) as PSC_Score_19_23,
sum(CONVERT(int,PSC_Score_24_34 )) as PSC_Score_24_34,
sum(CONVERT(int,PSC_Score_35_50 )) as PSC_Score_35_50,
sum(CONVERT(int,PSC_Score_51_100 )) as PSC_Score_51_100,
(SUM(CONVERT(int,PSC_Score_0_11 )) + SUM(CONVERT(int,PSC_Score_12_18 )) +
SUM(CONVERT(int,PSC_Score_19_23 )) + SUM(CONVERT(int,PSC_Score_24_34 ))
+ SUM(CONVERT(int,PSC_Score_35_50 ))+ SUM(CONVERT(int,PSC_Score_51_100 ))
) as Total
from VillageLevelPscData
group by district_name;
CTE似乎並不特別有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.