我有一個表格,必須爲每個訂單上的每個客戶計算特定零件編號的訂單數量。我得到錯誤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 –