查询返回客户购买的SKU的计数

时间:2013-10-14 17:16:15

标签: sql firebird razorsql

我知道这对大多数人来说都是基本的,我不会那么多使用SQL。我正在尝试返回显示以下内容的数据集:

CustomerID     #DistinctSKUsPurchased

以下是我正在使用的查询,将SalesOrder(SO)表与SalesOrder(SOITEM)表一起加入:

SELECT SO.ID, SOITEM.SOID, SO.CustomerID, COUNT(DISTINCT SOITEM.ProductID)  
FROM SOITEM
INNER JOIN SO
ON SO.ID=SOITEM.SOID
ORDER BY SO.ID;

我收到的语法错误是:

ERROR: GDS Exception. 335544569. Dynamic SQL Error
SQL error
code = -104
Invalid expression in the select list (not contained
in either an aggregate function or the GROUP BY clause)
Error
Code: 335544569

Query = SELECT SO.ID, SOITEM.SOID, SO.CustomerID,
COUNT(DISTINCT SOITEM.ProductID)  
FROM SOITEM
INNER
JOIN SO
ON SO.ID=SOITEM.SOID
ORDER BY SO.ID;

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

SELECT SO.ID, SOITEM.SOID, SO.CustomerID, COUNT(DISTINCT SOITEM.ProductID)
FROM SOITEM
INNER JOIN SO
ON SO.ID=SOITEM.SOID
group by  SO.ID, SOITEM.SOID, SO.CustomerID
ORDER BY SO.ID