by 밥하는남자 [SQL Query] [2017.08.22 16:38:45]
리스트에 {a,b,c} 라는 값이 있고
DB에 테이블을 조회하여 {a,d,f} 라는 값을 얻었을때
DB로 포함되지 않은 값을 뽑고 싶습니다.
결론은 {a} 를 제외한 {b,c} 라는 값을 얻고 싶네요
데이터 샘플 좀 보여주세요.
테이블/컬럼/DATA를 보여주세요.
리스트 형태의 a,b,c 라는 값이 있다고 하고
WITH temp AS (
select 'a' as str from dual union all select 'd' as str from dual union all select 'f' as str from dual)
SELECT str FROM temp
위와 같이 테이블에 데이터가 존재하면
리스트에 포함하지 않은 b,c 라는 값을 구하고 싶은겁니다.
값이 저렇게 쉼표로 붙여서 들여오면 변수로 받은다음에 dual 테이블로 읽어서 행 복제로 row 로 쪼개고 DB 테이블을 not exists 조건 걸면 되지 않을까요...
a,b,c 라는 값을 테이블화 시켜서 not in 만 걸어도 됩니다.
테이블화 안시키고는 방법이 없을까해서요
테이블화? 가 먼지는 잘모르지만 방법이 있으시면 그냥 쓰쎠도 될듯한데요.
쉽게 갈수있는길을 어렵게 갈필요는 없다고 봅니다.