이 알고리즘 구현 가능할까요? 4

by Sql어렵다 [SQL Query] [2022.12.29 13:19:46]


임시테이블써서 해결하였습니다

by 마농 [2022.12.29 14:04:10]

질문이 막연하고 두리뭉실하네요. 추상적입니다.
구체적으로 질문해 주셔야 합니다.
예시 자료를 제시해 주시면 좋을 것 같습니다. 원본 대비 결과표 예시
위에 제시된 여러가지 케이스들이 포함되어 있는 케이스별 예시.


by 창조의날개 [2022.12.29 17:02:45]

 

아래처럼 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 조건

 


by Sql어렵다 [2022.12.31 02:26:48]

감사합니다! WHERE 조건에서 COUNT는 왜 하는건지 여쭤봐도 될까요??


by 포동푸우 [2022.12.31 21:42:34]

테이블에 값이 없으면 ~~> (SELECT COUNT(*) FROM A WHERE ...) = 0

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입