2013-10-14 49 views
0

我知道這對大多數人來說是基本的,我並沒有太多的使用SQL。我試圖返回一個數據集顯示以下內容:查詢返回客戶購買的SKU的數量

CustomerID  #DistinctSKUsPurchased 

這裏是我使用的查詢,以SalesOrderItem(SOITEM)表加入SalesOrder(SO)表:

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

看起來你缺少一個'Group by'子句。這是哪個SQL? MySQL的?甲骨文? SQL Server? –

+0

我使用RazorSQL連接到Firebird數據庫 – John

回答

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 
相關問題