0
テーブルから同じフィールドが必要ですが、条件が異なる場合は、このようなことが可能ですか?SQL Serverで条件が複数ある場合の同じ選択基準
私はこれをこのようにしようとしましたが、その中に欠けているものがあるため、正しく動作しません。
;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」の合計と、1つのテーブルに他の地区=「ABC」と地区=「DEF」と組合それらすべてをその結果を取得したいです。
私はこのクエリのエラーを取得する:キーワードの近くに
不適切な構文 'AS'。
各地区ごとにこのような結果を得たいと考えています。
コードに何が問題なのですか?それはコンパイルされませんか? >エラー?それは期待される結果をもたらすものではありません>あなたは何を期待していますか?表示する場合は、 'WHERE [DISTRICT_NAME] IN( 'ABC'、 'DEF')'と書くか、クエリごとに集計が必要な場合はビューを使用します。私はこれが共通のテーブル表現の恩恵を受ける方法を見ていない。 – dlatikay
[DISTRICT_NAME]はProductsCTEにありません – Paparazzi