안녕하세요..
같은 사람이 두번 결재를 하는데요..
A테이블, B테이블 컬럼은 거의 유사 합니다
첫번째 질문입니다.
결재자가 A테이블에서 승인, B테이블에서 승인 이렇게 하면 B테이블의 데이터만 조회가 되야 하는데 감을 못잡겠네요.
두번째 질문입니다.
결재자가 A테이블에서는 승인, B테이블에서는 반려 이렇게 한 경우에는 반려한 데이터만 조회가 되어야 합니다
두가지 쿼리좀 알려주세요..
감사합니다.
예시 자료를 보여 주세요.
두가지 질문이 아니라 한가지 질문 인것 같은데요.
A 승인시
B테이블 승인/반려 만 조회 아닌가요?
select B.* from B
JOIN A ON A.id=B.id
where B.col IN ('승인','반려')
AND A.col='승인'
-- 아래 쿼리는 이외의 경우 A테이블 내용 출력이 필요한 경우
union all
select * from A
where ( A.col = '승인'
and not exists (select 1 from B where B.id=A.id and b.com IN ('승인','반려')
) or A.col <> '승인'
뭐 이런 식 입니다.
A테이블 승인, B 테이블 승인 시 B 테이블 조회
SELECT * FROM TABLE B
WHERE B.GJ_STS(결재상태) = '승인'
AND B.COL1 IN (SELECT A.COL1 FROM TABLE A WHERE A.GJ_STS= '승인')
----------------------------------------------------
A 테이블 승인, B 테이블 반려 또는 A테이블 반려, B 테이블 승인 시
SELECT A.COL1, B.COL2........
FROM TABLE A, TABLE B
WHERE A.COL1 = B.COL1 -- 조인
AND ((A.GJ_STS = '승인' AND B.GJ_STS = '반려') OR
(A.GJ_STS = '반려' AND B.GJ_STS = '승인')
)
;