중복 데이터 내에서 삭제하고픈 목록만 select 하려고 합니다.
no | partNum | description | newP_Num | cost
SELECT * FROM CheckParts
WHERE partNum IN
(
SELECT partNum FROM CheckParts GROUP BY partNum HAVING COUNT(*)>1
) ORDER BY partNum, cost;
이처럼 중복 데이터를 정렬해서 조회는 했습니다.
이때 삭제할 리스트 목록만을 출력하고 싶은데요.
조건은
중복되는 partNum 중에 newP_Num가 있는 경우 newP_Num이 없는 리스트를 출력
중복되는 partNum 중에 모두 newP_Num 이 없다면 cost 로 비교해서 낮은 값을 출력
중복되는 partNum 중에 이도저도 아니면 둘중 하나만 출력
하려고 합니다.
sql 문에서 조건문이나 분석함수를 이용하면 된다고 하는데 어렵네요. |