SQL 쿼리: 관련된 두 테이블 간에 누락된 행을 찾습니다.
테이블이 두 개 있습니다.
표 A
- 아이디
- ABC_ID
- 동작하지 않다
표 B
- 아이디
- ABC_ID
- 동작하지 않다
이들 2개의 테이블은 를 통해 서로 직접 관련지어집니다.ABC_ID
기둥.
나는 모든 것을 찾고 싶다.VAL
같은 ABC_에 대해 표 B에 존재하지 않는 표 A의 열 값아이디
SELECT A.ABC_ID, A.VAL FROM A WHERE NOT EXISTS
(SELECT * FROM B WHERE B.ABC_ID = A.ABC_ID AND B.VAL = A.VAL)
또는
SELECT A.ABC_ID, A.VAL FROM A WHERE VAL NOT IN
(SELECT VAL FROM B WHERE B.ABC_ID = A.ABC_ID)
또는
SELECT A.ABC_ID, A.VAL LEFT OUTER JOIN B
ON A.ABC_ID = B.ABC_ID AND A.VAL = B.VAL FROM A WHERE B.VAL IS NULL
이러한 쿼리는 ABC_를 필요로 하지 않습니다.ID는 테이블 B에 있습니다.내 생각에 그건 네가 원하는 것 같아.
JOIN을 기반으로 한 다른 솔루션.
조인(Join)은 테이블A와 테이블B의 콘텐츠를 링크에 사용하여 조합합니다.ON
요청의 일부입니다.
SELECT
*
FROM
A
INNER JOIN
B
ON
B.ABC_ID = A.ABC_ID
WHERE
B.VAL <> A.VAL
기본적으로 A테이블과 B테이블을 ABC_로 조합하고 있습니다.ID를 확인한 후 A의 위치를 확인합니다.VAL은 B와 동일하지 않습니다.VAL. 결합된 데이터INNER JOIN
는 테이블 A와 B의 양쪽 모두에 ABC_가 있는 레코드만을 포함합니다.ID가 있습니다().
@start_date DATETIME= '04-01-date'; DATETIME= '04-30-declares'; DATIME= '04-30-declares'; DATE = @min = max(test_uid), = max(test_uid)를 테스트에서 선택합니다. 여기서 DATE > = @min @START_D, DATE, DATE, DATE, DATINT
test_를 선택합니다.UID+1은 FirstMissingId로, nextid - 1은 LastMissingId로 #tmp로 입력됩니다(테스트 선택).*, 리드(테스트_)UID) 오버(테스트에 의한 순서)UID)를 test_에서 nextid로 지정합니다.@min과 @max 사이의 UID 테스트.여기서 nextid <> test_UID+1 CREATE TABLE #tmp1 (ID INT ) go
declarate @lastmissingid BIGINT, @firstmissingid BIGINT, #tmp open recscan fetch next from @firstmissingid, @@firstmissingid = 0 beginate declarate @maxcnt int = @lastmissingid
@mincnt, int = @firstmissingid 선언
WHIEN @카운터 <= @maxcnt
BEGIN INSERT #tmp1 값(@Counter) SET @Counter += 1 END feach from recscan,@last missingid end close recscan 재스캔 할당 해제
언급URL : https://stackoverflow.com/questions/3826929/sql-query-to-find-missing-rows-between-two-related-tables
'programing' 카테고리의 다른 글
WordPress.com에서 호스팅되는 사이트에 REST API를 사용할 수 있습니까? (0) | 2023.03.23 |
---|---|
낸시와 함께 유효한 Json이 포함된 문자열 반환 (0) | 2023.03.23 |
회전 슬라이더 모바일 배경 이미지 변경 (0) | 2023.03.23 |
스프링 부트 devtools - IntelliJ에서는 정적 콘텐츠 새로고침이 작동하지 않습니다. (0) | 2023.03.23 |
mongodb/mongoose find Many - 배열에 나열된 ID를 가진 모든 문서를 찾습니다. (0) | 2023.03.18 |