두 개의 테이블이 table1
있고 table2
. Table2
의 FK를 포함합니다 table1
. 현재 table2
는 table1
더 이상 존재하지 않는 FK가 있습니다 . table2
FK가 존재하지 않는 곳에서 해당 레코드를 제거하고 싶습니다 table1
. 이를위한 SQL은 무엇입니까?
내가 시도한 "NOT IN"은 다음과 같습니다.
SELECT ATTORNEYS.ATTY_ID, ATTNY_PRACTICE_GROUPS.ATTY_ID, ATTNY_PRACTICE_GROUPS.ID, ATTNY_PRACTICE_GROUPS.PRACTICE_GRP_ID
FROM ATTORNEYS INNER JOIN ATTNY_PRACTICE_GROUPS ON ATTORNEYS.[ATTY_ID] = ATTNY_PRACTICE_GROUPS.[ATTY_ID]
WHERE ATTNY_PRACTICE_GROUPS.[ATTY_ID] NOT IN ATTORNEYS.ATTY_ID
오류가 표현식에 ()없이 IN 연산자이기 때문에 "NOT IN"을 사용하는 방법을 모르겠습니다.
내가 사용 해본 한 !=
, <>
, NOT IN
, 그리고 IS NULL
지금까지 행운을합니다. 도움을 주셔서 감사합니다.
SELECT ID
FROM ATTNY_PRACTICE_GROUPS G
WHERE NOT EXISTS (SELECT 1 FROM ATTORNEYS WHERE ATTY_ID = G.ATTY_ID)
이 쿼리는 ATTORNEYS에없는 ATTY_ID가있는 모든 Attny_practice_group 행을 찾습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다