join된 결과의 중복행을 제거 하는 방법은? rowid, distinct 등등 0 0 3,522

by DJ메탈짱™ [SQL Query] 중복행 distinct rowid join [2010.07.07 14:16:02]




안녕하세요.

개발을 진행하고 있는데.. 두개의 테이블을 join한 결과가 중복행이 나옵니다.

1:n 관계의 테이블(master, subtable)의 경우인데요...

예를들자면, 제목(master)이 한건만 나와야 하는데 제목을 사용하는 사람(subtable)이 두명인 경우에
  동일한 제목이 2건이 조회됩니다.

SELECT a.pk

FROM tableA a, tableB b

WHERE a.pk = b.pk    

    and a.rowid < (select max(rowid) from tableA aa where a.pk = aa.pk)

 

SELECT a.pk

FROM tableA a, tableB b

WHERE a.pk = b.pk    

    and a.rowid not in (select min(rowid) from tableA aa group by aa.pk)

검색해본 결과 위와 같이 해주면 될것으로 예상했는데....

원하는 결과(중복행 제거)가 안나오네요...

데이터가 많다보니 distinct를 사용하면 결과가 언제 나올지 알수가 없어

distinct를 사용하지 못하는 상황입니다.

고수분들의 조언좀 부탁드릴께요... (__) 꾸벅

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입