select
a.accd as 코드
,a.acnmd as 계정명
,a.slipyn as 전표기장
,a.status as 사용구분--Y,N 값으로만 이루어져 있음
,b.entrycd as 관리코드
,b.entrynm as 관리항목
,b.[require] as 구분
,b.[changeyn] as 수정불가
,b.[sort] as 순서
from
account_gj.[dbo].[biacd01t] as a
LEFT OUTER JOIN
account_gj.[dbo].[biacd02t] as b
on
a.accd=b.accd
and a.status='Y'--이값이 제대로 적용 안됨
ORDER BY a.accd,b.entrycd
biacd01t 에서 status 열이 'Y '인 데이터 리스트만 뽑아서
biacd02t를 LEFT OUTER JOIN 을 하고싶은데
아래처럼 이상하게 나와요...
biacd01t 의 status 이 N이고 biacd02t에는 없는 데이터들이 출력 되버리네요.
1000000 <자산> N Y NULL NULL NULL NULL NULL
1100000 <유동자산> N Y NULL NULL NULL NULL NULL
1110000 <당좌자산> N Y NULL NULL NULL NULL NULL
1110100 현금 N Y NULL NULL NULL NULL NULL
1110300 당좌예금 Y Y 10 은행계좌번호 1 1 2
1110300 당좌예금 Y Y 15 은행코드 1 1 1
1110500 외화당좌예금 N N NULL NULL NULL NULL NULL
1110700 보통예금 N Y 10 은행계좌번호 1 1 2
1110700 보통예금 N Y 15 은행코드 1 1 1
1110701 보통예금 Y Y 10 은행계좌번호 1 1 2
1110701 보통예금 Y Y 15 은행코드 1 1 1
and a.status='Y'를 미적용시 데이터
1000000 <자산> N Y NULL NULL NULL NULL NULL
1100000 <유동자산> N Y NULL NULL NULL NULL NULL
1110000 <당좌자산> N Y NULL NULL NULL NULL NULL
1110100 현금 N Y NULL NULL NULL NULL NULL
1110300 당좌예금 Y Y 10 은행계좌번호 1 1 2
1110300 당좌예금 Y Y 15 은행코드 1 1 1
1110500 외화당좌예금 N N 06 화폐구분 2 2 3
1110500 외화당좌예금 N N 10 은행계좌번호 1 1 2
1110500 외화당좌예금 N N 15 은행코드 1 1 1
1110500 외화당좌예금 N N 28 외화금액 2 2 5
1110500 외화당좌예금 N N 29 환율 2 2 4
1110700 보통예금 N Y 10 은행계좌번호 1 1 2
1110700 보통예금 N Y 15 은행코드 1 1 1
1110701 보통예금 Y Y 10 은행계좌번호 1 1 2
1110701 보통예금 Y Y 15 은행코드 1 1 1
a.status='Y'를 적용시킨 데이터를 뽑은후에 LEFT OUTER JOIN 를 적용시켜야 할듯한데
이걸 임시 테이블 생성 없이 하나의 쿼리문으로 어떡게 작성해야 될까요?
자문 자답;;;
저렇게 사용한것이 있었다라는게 생각나서 실제로 해봤더니 되네...