2012-11-28 3 views
2

SQL 쿼리에 문제가 있습니다.SQLPLUS 값 문제

저는 적어도 4 개의 다른 매장에 판매 한 직원의 이름을 표시해야합니다.

나는 다음과 같은 쿼리를 작성했습니다 :

select EmpCode from Items 
group by EmpCode 
having COUNT (EmpCode)>=4 
order by EmpCode desc; 

을하지만 여전히 같은 상점, 결과의 존재에 판매 한 그 직원에 대한 값을 얻고 것은 :

EMPCODE 
------- 
    E4 
    E3 
    E2 
    E1 

나는 알게하고 다른 사람들은 여러 가지 다른 해답을 얻고 있지만, 가장 공통적 인 것은 단지 하나의 값만 반환된다는 것입니다.

테이블에 "ItemNo, StoreNo, ItemDesc, Quant, Units, ReorderNo, Price, EmpCode"가 포함됩니다. 테이블에 0 개의 Null 값이있는 총 34 개의 레코드가 있습니다. 여러 직원이 다양한 상점에 ​​여러 항목을 판매했습니다. 그러나 전체 표는 E3 만 개의 다른 상점 에 판매 한 반면 다른 매장은 동일한 상점, 2 개의 상점 또는 3 개의 상점에 판매되었음을 보여줍니다. 나는 E3가 4 개의 다른 가게에 팔린 유일한 종업원이라는 것을 보여주고 싶다.

어떤 도움을 주시면 감사하겠습니다, 감사

+2

를 테이블 구조에 대한 정보를 제공하는 테이블 구조에 문제 –

+0

추가 정보를 이해하는 데 도움이 될 것입니다, 희망이 –

+0

을하는 데 도움이 이 테이블의 의미를 확인하기 만하면됩니다. 그 테이블에있는 ItemDec이 왜 그런 식으로 말하는 것입니까? 동일 매장의 E2 또는 매장 2의 E1으로 판매되는 것보다 매장 1의 E1이 품목을 판매 할 때 다른 설명이 있습니까? 정규화 문제가 있거나 테이블이 실제로보기입니까? –

답변

2

당신은 COUNT(DISTINCT StoreNo) 사용해야

select EmpCode 
from Items 
group by EmpCode 
having COUNT (DISTINCT StoreNo)>=4 
order by EmpCode desc; 
+0

대단히 감사합니다! 쿼리가 훌륭하게 작동했습니다! –