두 테이블이 있는데 하나는 TEMP
이고 다른 하나는 MAIN
입니다. 그래서 내가하려는 것은 TEMP
테이블의 모든 레코드가 MAIN
테이블에 있는지 확인하는 것입니다. 논리는 temp 테이블의 모든 레코드가 주 테이블에 있어야하지만 여기서 SQL 쿼리를 실행할 때 필요합니다. 나에게 어떤 레코드도 제공하지 않으며 임시 테이블의 주 테이블에 누락 된 레코드가 있다는 것을 알고 있습니다. 여기서 내가 뭘 잘못하고 있니?SQL에서 if exists 문을 사용하여 문제가 발생했습니다
IF EXISTS(SELECT DISTINCT GRP_NM
,GRP_VAL
FROM TEMP
WHERE GRP_NM + GRP_VAL NOT IN (SELECT GRP_NM + GRP_VAL FROM MAIN)
)
BEGIN
INSERT INTO MAIN(GRP_NM, GRP_VAL)
SELECT GRP_NM
,GRP_VAL
FROM MAIN
WHERE GRP_NM + GRP_VAL NOT IN (SELECT GRP_NM + GRP_VAL FROM MAIN)
END
어떻게됩니까? 당신은 똑같은 논리를 반복하고있는 것처럼 보입니다. 나는 존재한다면 외부가 필요하다는 것을 확신하지 못합니다. –
그것은 아무런 값도 반환하지 않고 누락 된 약 28 개의 레코드가 있다는 것을 알고 있습니다. – moe