트랜잭션아이디만 유니크하게 가진 테이블이 별도로 있다면?
스칼라서브쿼리 형태로 가능하기는 합니다.
다만 데이터량? 인덱스 형태? 조건절 형태에 따라 어떤게 유리할지는 확인해 봐야 합니다.
SELECT * FROM (SELECT 트랜잭션아이디 , (SELECT TOP 1 s.판매번호 FROM 판매정보테이블 s WHERE 카드결제상태 NOT IN ('00','01') AND ISNULL(s.deleteflag, 0) <> 1 AND s.트랜잭션아이디 = m.트랜잭션아이디 ORDER BY s.판매번호 DESC ) 판매번호 FROM 트랜잭션정보테이블 m ) z WHERE z.판매번호 IS NOT NULL ;
기타사항으로. 부정 조건을 긍정 조건으로 바꿀 수 있는지? 검토해 보세요.
- 부정조건 : 카드결제상태 NOT IN ('00','01')
- 긍정조건 : 카드결제상태 IN ('02','03','04','05')
- 긍정조건 : 카드결제상태 >= '02'