질문이 막연하고 두리뭉실하네요. 추상적입니다.
구체적으로 질문해 주셔야 합니다.
예시 자료를 제시해 주시면 좋을 것 같습니다. 원본 대비 결과표 예시
위에 제시된 여러가지 케이스들이 포함되어 있는 케이스별 예시.
아래처럼 UNION ALL을 이용해서 할 수 있습니다.
단, 조건 a, b, c, d가 서로 배타적이어야 합니다.
어느 하나의 조건을 만족하면 다른 조건은 무조건 만족하지 않아야 합니다.
SELECT * FROM A, B WHERE 조건 1,2,3 AND (SELECT COUNT(*) FROM C WHERE ...) = 0 -- a 조건 UNION ALL SELECT * FROM A, B WHERE 조건 1,2 AND (SELECT COUNT(*) FROM A WHERE ...) = 0 -- b 조건 UNION ALL SELECT * FROM A, B WHERE 조건 1,3 AND (SELECT COUNT(*) FROM C WHERE ...) > 0 -- c 조건 UNION ALL SELECT * FROM A, B WHERE 조건 1 AND (SELECT COUNT(*) FROM B WHERE ...) = 0 -- d 조건
감사합니다! WHERE 조건에서 COUNT는 왜 하는건지 여쭤봐도 될까요??
테이블에 값이 없으면 ~~> (SELECT COUNT(*) FROM A WHERE ...) = 0