만약 SELECT *
FROM AAA
이라는 A쿼리가 있고,
SELECT *
FROM BBB
라는 B쿼리가 있고
FROM CCC
라는 C쿼리가 있을때
C쿼리를 조회했을 때 데이터가 있으면 A조회, 없으면 B조회를 쿼리문으로 작성이 가능할까요?
두 쿼리의 컬럼이 동일하다고 가정하면 UNION ALL 로 합칠 수 있습니다.
SELECT * FROM aaa WHERE EXISTS (SELECT 1 FROM ccc) UNION ALL SELECT * FROM bbb WHERE NOT EXISTS (SELECT 1 FROM ccc) ;
동일하지 않고
AAA와 CCC가 동일 테이블이고
BBB는 여러테이블의 조인 테이블이라면 어떻게 조회가 가능할까요?
CCC의 조회 개수가 1이상이면 AAA, 0이면 BBB 이렇게 조회되도록 하고 싶습니다...
aaa, bbb, ccc 이런 막연한 표현 말고 좀더 실체에 가깝게 구체적으로 표현해 주셔야 합니다.
예를들어
FROM USER 쿼리1
FROM
(SELECT *
FROM USER) A,
FROM DEPT) B
WHERE A.EMPNO = B.EMPNO 쿼리2
SELECT COUNT(*)
FROM USER 쿼리3
일때
쿼리 3의 값이 1 이상이면
쿼리1 조회,
쿼리3의 값이 0이라면
쿼리2를 조회하고 싶습니다
질문이 말이 좀 안되네요. 앞뒤가 맞지 않습니다. 쿼리 1,2,3 에 모두 user 가 있는데... 쿼리3의 user count 가 0 인데? 쿼리2의 user 를 조회한다는게 없는 자료를 조회한다는게 말이 안됩니다.