2013-10-14 3 views
0

저는 이것이 여러분 대부분의 초등학생이라는 것을 압니다. 나는 그만큼 SQL을 사용하지 않습니다.고객이 구매 한 SKU의 수를 반환하시오.

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; 

: 여기

CustomerID  #DistinctSKUsPurchased 

내가 사용하고있는 쿼리, SalesOrderItem (SOITEM) 테이블과 SalesOrder를 (SO) 테이블을 결합이다 : 나는 다음과 같은 표시하는 데이터 집합을 반환하는 것을 시도하고있다 내가 구문 오류가 점점 오전 밝히는 :

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 
관련 문제