3 개의 테이블이 합쳐져 있고 NSR_Details
3 개의 테이블 선택에서 제외 할 항목이있는 테이블이 있습니다.
참조 된 세부 정보를 제외 할 수 NSR_details
있지만 검색 LIKE
하면 여전히 제외 된 데이터가 반환됩니다. 내 질문은 다음과 같습니다.
SELECT b.MainID
,a.Description
,b.ItemID
,b.Size
,c.Current_SRP
,b.Barcode
FROM IMF_SKU AS b
LEFT JOIN IMF_Main AS c ON c.MainID = b.MainID
LEFT JOIN IMF_Extensions AS a ON a.MainID = b.MainID
WHERE (a.Description LIKE 'BBB')
OR (b.Barcode LIKE 'BBB')
AND NOT EXISTS (
SELECT *
FROM INV_SKU_NSR_DetailsRepo
)
그래서 NSR_Details에서 내가 제외 할 AAA와 BBB 데이터 (다른 사람이 AAA와 BBB 세부 사항을 잘 CCC, DDD, EEE 등으로 NSR_details에 있지 않습니다. 난 그냥이의 조건을 채울 때 AAA와 BBB를 제외 할이 WHERE
조건을 누군가 요청하면 SSMS를 DBMS로 사용하고 있습니다.
댓글에 따라
NSR_DetailsRepo에는 Main, SKU 및 Extensions와 동일한 데이터를 보유하는 필드가 있습니다. NSR_details 테이블에없는 main, sku 및 확장에서 세부 정보를 선택하고 싶습니다.
필드가 의존적이라면 이것을 원한다고 믿습니다.
SELECT b.MainID
,a.Description
,b.ItemID
,b.Size
,c.Current_SRP
,b.Barcode
FROM IMF_SKU AS b
LEFT JOIN IMF_Main AS c ON c.MainID = b.MainID
LEFT JOIN IMF_Extensions AS a ON a.MainID = b.MainID
LEFT JOIN INV_SKU_NSR_DetailsRepo nsr on
nsr.Description = a.Description and
nsr.Barcode = b.Barcode
WHERE ((a.Description LIKE 'BBB')
OR (b.Barcode LIKE 'BBB'))
AND nsr.Description is null
또는 필드가 독립적 인 경우
SELECT b.MainID
,a.Description
,b.ItemID
,b.Size
,c.Current_SRP
,b.Barcode
FROM IMF_SKU AS b
LEFT JOIN IMF_Main AS c ON c.MainID = b.MainID
LEFT JOIN IMF_Extensions AS a ON a.MainID = b.MainID
LEFT JOIN INV_SKU_NSR_DetailsRepo nsr on
nsr.Description = a.Description or
nsr.Barcode = b.Barcode
WHERE ((a.Description LIKE 'BBB')
OR (b.Barcode LIKE 'BBB'))
AND nsr.Description is null
이는 조인 된 테이블이 널인지 확인하는 LEFT JOIN이 NOT IN 구문과 동일하기 때문에 작동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다