2016-09-19 3 views
0

내 시스템에는 두 번 이상 주문 된 동일한 부품 번호가 없어야합니다. 나는 한 번 이상 주문에 나타나는 모든 부품을 끌어 올 쿼리를 작성하려고합니다. 예를 들어 부품 A가 두 번 이상 나타납니다 때문에, 그리고 주문 번호 3과 같은 일 파트 B는 두 번 이상 나타납니다 때문에 동일한 주문에서 중복 부품을 가져 오는 쿼리

Order# Part QTY 
1  A 1 
1  A 1 
1  B 5 
2  A 4 
2  B 4 
2  C 3 
3  A 5 
3  B 5 
3  B 7 
4  A 3 
4  B 6 
5  A 3 

그래서 여기에 문제가 주문 번호 1이 될 것입니다. 나머지 주문은 괜찮을거야. 이런 식으로하고 싶다면 어디에서 시작해야할까요?

+0

"GROUP BY"및 "HAVING"부터 살펴 보겠습니다. 정확한 구문은 플랫폼에 따라 다르지만 기본적으로 원하는 항목 (이 경우 주문 번호와 부품 번호의 조합)을 기준으로 그룹화 한 다음 '계산할 수 있음 (1)'이라는 문구로 필터링합니다. – Duston

답변

1

다음 쿼리는 문자 그대로 사용자가 묻는 것입니다. 순서와 부분의 조합으로 집계하고 주어진 쌍에 대해 두 번 이상 나타나는 경우 해당 값을 반환합니다.

SELECT Order, Part 
FROM yourTable 
GROUP BY Order, Part 
HAVING COUNT(*) > 1 
관련 문제