db에 다음과 같은 데이터가 있습니다.
TEST_A
aa bb cc
a1 b1 c1
a2 b2 c2
SELECT aa FROM TEST_A
WHERE aa IN (
'a1',
'a4'
);
해당 쿼리를 돌리면
TEST_A
aa
a1
이 나옵니다.
원하는 결과 값은
TEST_A
aa
a4 << 핵심
가 나올수있게 쿼리를 어떻게 짜야 할까요??
db에 데이터가 있으면 넘어가고 없는 내용이 결과로 나오는것을 알고싶습니다.
Comment 2
-
지영아빠
2020.12.10 14:34
맞는 건지 모르겠네요...with tmp as (select 'a1' as aa, 'b1' as bb, 'c1' as cc union allselect 'a2' as aa, 'b2' as bb, 'c3' as cc)selectb.aafrom tmp aright outer join (select 'a1' as aa union allselect 'a4' ) bon a.aa = b.aawherea.aa is null -
약은 중
2020.12.10 16:47
DECLARE @PARAM_STR VARCHAR(MAX)SET @PARAM_STR = 'a1,a4';with TEST_A as (select 'a1' as aa, 'b1' as bb, 'c1' as cc union allselect 'a2' as aa, 'b2' as bb, 'c3' as cc)SELECT *FROM STRING_SPLIT(@PARAM_STR,',') AWHERE NOT EXISTS(SELECT 'X'FROM TEST_A BWHERE A.VALUE = B.AA)