私は、各注文の顧客ごとに、特定の部品番号の注文数を数えなければならないテーブルを1つ持っています。エラーが発生していますSQLコードSUM CASE文
"Column 'ALL_INFORMATION.CUSTOMER_ID' is invalid in the select list because
it is not contained in either an aggregate function or the GROUP BY clause."
私は何をするべきか分かりません。以下は私のコードです。私はすべての援助に感謝します。
WITH ALL_INFORMATION
AS (SELECT CUSTOMER_ID, SO_ID, CHANGE_DATE, PART_ID, ORDER_QTY, PRODUCT_LINE FROM SOFBH),
PRODUCT_QUANTITY
AS (
SELECT *,
sum(
case when PART_ID = '3860+' then ORDER_QTY else 0
end) as '3860+',
sum(
case when PART_ID = '3861' then ORDER_QTY else 0
end) as '3861',
sum(
case when PART_ID = '3865' then ORDER_QTY else 0
end) as '3865',
sum(
case when PRODUCT_LINE = '1055' then ORDER_QTY else 0
end) as '1055',
sum(
case when PRODUCT_LINE = '1056' then ORDER_QTY else 0
end) as '1056',
sum(
case when PRODUCT_LINE = '1057' then ORDER_QTY else 0
end) as '1057',
sum(
case when PRODUCT_LINE = '1058' then ORDER_QTY else 0
end) as '1058'
FROM ALL_INFORMATION)
select *
FROM ALL_INFORMATION
GROUP BY CUSTOMER_ID, SO_ID
どのdbmsを使用していますか? – Eric
Microsoft SQL Server 2016 –