2016-11-16 2 views
0

하나의 시스템에서 회사 코드 간 비교를 위해 자체 조인을해야하는 쿼리가 있습니다.반복되는 테이블 값의 자체 조인

select a.LIFNR LIFNR,b.LIFNR B_LIFNR,a.BUKRS BUKRS,b.BUKRS B_BUKRS, 
     a.SPERR SPERR,b.SPERR B_SPERR 
from Q45_LFB1 a 
join Q45_LFB1 b 
on a.LIFNR = b.LIFNR and a.BUKRS <> b.BUKRS 
and a.lifnr = '111000444'; 

출력 :

LIFNR B_LIFNR BUKRS B_BUKRS SPERR B_SPERR 
444 444 8810 1960  X 
444 444 2170 1960  X 
444 444 8810 2170  X  X 
444 444 1960 2170   X 
444 444 2170 8810  X  X 
444 444 1960 8810   X 

출력에서 ​​보이는 바와 같이 8810과 1960과 비교하고, 다시 1,960 제가 필요하지 8810과 비교. 방지하는 방법

는 안내하시기 바랍니다 : 당신이 행만 출력 곳 a.BUKRS <> b.BUKRS 각 한 번해야하는 경우

페이지의 이미지가 사전에

enter image description here

감사합니다, 자 Vi

+1

입니다 모든 LIFNR을 찾는 데 사용할 수있는 simpliest 솔루션입니다. –

+0

당신의 목적을 구체적으로 설명해 주시겠습니까? 자기 조인의 목적은 무엇입니까? – rbr94

+0

@VijayVanamala 당신은 아마도'and a.BUKRS b.BUKRS' – Boneist

답변

1

를 부착 , 나는 조건 a.BUKRS > b.BUKRS을 사용할 것을 제안 할 것입니다.

이 당신의 고유 한 'BUKRS'수 당신은 오히려 작동하지 않는 쿼리를주는 것보다, 당신이 원하는 무엇인지 설명해야 더 이상의

+0

감사합니다 Emil, 그것은 나를 도왔습니다 :) –