수고하십니다.
쿼리를 개선할 수 있나해서 질문드립니다.
WITH TEST AS (
SELECT 'AA' CODE, '0001' VALUE01 , '0002' VALUE02 , '0003' VALUE03 , '0004' VALUE04 , '0005' VALUE05 , '0006' VALUE06 , '0007' VALUE07 , '0008' VALUE08 , '0009' VALUE09 FROM DUAL UNION ALL
SELECT 'BB' CODE, '1101' VALUE01 , '1102' VALUE02 , '1103' VALUE03 , '1104' VALUE04 , '1105' VALUE05 , '1106' VALUE06 , '1107' VALUE07 , '1108' VALUE08 , '1109' VALUE09 FROM DUAL
)SELECT CODE FROM TEST
WHERE VALUE01 = '0001'
OR VALUE02 = '0001'
OR VALUE03 = '0001'
OR VALUE04 = '0001'
OR VALUE05 = '0001'
OR VALUE06 = '0001'
OR VALUE07 = '0001'
OR VALUE08 = '0001'
OR VALUE09 = '0001' ;
위 쿼리 보시면 VALUE01~VALUE09까지의 칼럼이 있는데요.
모두 같은 형태의 자료를 담고 있습니다.
원래는 ROW로 들어가야할 거같은데;; 열로 들어가있네요;;
문제는 조회 시 인데요.
하나의 파라미터를 받아서 모든 칼럼의 값을 조회해서 그 값이 있는 ROW를 조회합니다.
그냥 OR로 처리하면 될거 같은데요.
이게 좋은지 나쁜지, 더 좋은 방법이 있는지 없는지 몰라서 질문드립니다.
예시는 9개 칼럼으로 드렸으나 실제 칼럼은 20개가 넘습니다.
이런식으로 조회를 할 때 OR로해도 별 상관없을까요?
다른 좋은 방법이 있을까요?
자료건수가 많은 것도 아니고 위와 같이 해도 딱히 문제있는 건 아닌데.. 궁금해서요 ㅋ
그리고 추가로..
만약..파라미터가 여러개라면..아..IN으로 하면 되는군요;;
ㅜㅜ
좋은 방법 아시면 가르침 바랍니다. ^^*
즐거운 오후 되시길 ..