0

電化製品の世帯所有に関するデータがあり、列ごとに 1 つの電化製品があり、Y または N の形式のデータがあります。世帯ごとに所有されている電化製品の合計を含む新しい列を生成したいと考えています。次のスクリプト (SQLIte) を実行すると、")" 付近の構文エラーに関するエラー メッセージが表示されます。助けてください - 私はあらゆる種類の構文を試しました。

SELECT Household,
SUM((CASE WHEN Stove="Y" THEN 1 ELSE 0) +
(CASE WHEN Fridge="Y" THEN 1 ELSE 0) +
(CASE WHEN TV="Y" THEN 1 ELSE 0) +
(CASE WHEN Video="Y" THEN 1 ELSE 0) +
(CASE WHEN SatDish="Y" THEN 1 ELSE 0) +
(CASE WHEN Radio="Y" THEN 1 ELSE 0) +
(CASE WHEN FixPhone="Y" THEN 1 ELSE 0) END) 
AS Appliances
FROM Assets
4

1 に答える 1

1

すべての case ステートメントで End が必要です: これを試してください:

SELECT Household,
SUM((CASE WHEN Stove="Y" THEN 1 ELSE 0 End) +
(CASE WHEN Fridge="Y" THEN 1 ELSE 0 End) +
(CASE WHEN TV="Y" THEN 1 ELSE 0 End) +
(CASE WHEN Video="Y" THEN 1 ELSE 0 End) +
(CASE WHEN SatDish="Y" THEN 1 ELSE 0 End) +
(CASE WHEN Radio="Y" THEN 1 ELSE 0 End) +
(CASE WHEN FixPhone="Y" THEN 1 ELSE 0 End))
AS Appliances
FROM Assets
Group By Household
于 2013-03-17T16:04:11.130 に答える