여기에 (나를 위해) 머리 - 아마추어가의 ...크로스 테이블 SQL 쿼리는 제품 설명을 내가 두 테이블을 가지고 B. A가 포함
키워드에 따라 결과의 기록에서 제외, B 제품 코드를 포함, 수량 , 그리고 계정. 주름은 B가 제품 코드에 상위, 하위 관계를 가지고 있다는 것입니다.
계정, 제품, 설명 및 수량 (제품의 설명에 키워드가있는 경우를 제외하고 제품 Qty의 값이 0 인 경우)을 볼 수있는 결과 세트를 함께 넣으려고합니다. 나는 상관하지 않는다).
SELECT Bp.Account, Bp.Product, A.Description, Bp.Qty FROM B
AS Bp JOIN A as Prod ON (Bp.Product = Prod.Product)
WHERE EXISTS (Select * from B AS Bc
WHERE Bp.Account = Bc.Account
AND Qty = 0)
을 그리고 이것은 매우 좋은 결과 집합 반환 :
그래서, 여기 내 쿼리는 지금의
Account Product Description Qty
ABC XYZ DESC-BLAH 1
ABC XYY DESC-DEE 0
ABC ZXY DESC-BILP 1
BDE XAZ DESC-OOPS 1
BDE XYY DESC-DEE 0
BDE ZXY DESC-BLIP 1
그래서 내가-OOPS DESC를 제외 할 말을 할 수 있으며 모든 제품을 내 결과 집합에서 그것에 관한. 보고 싶습니다 :
Account Product Description Qty
ABC XYZ DESC-BLAH 1
ABC XYY DESC-DEE 0
ABC ZXY DESC-BILP 1
단일 쿼리에서이 작업을 수행 할 수 있습니까?
미리 감사드립니다. 아마도 그것이 당신을 위해 작동하지 않는 이유를 잘 모르겠어요
SELECT Bp.Account, Bp.Product, A.Description, Bp.Qty FROM B
AS Bp JOIN A as Prod ON (Bp.Product = Prod.Product)
WHERE EXISTS (Select * from B AS Bc
WHERE Bp.Account = Bc.Account
AND Qty = 0)
AND Bp.ACCOUNT NOT IN (SELECT ACCOUNT FROM Table WHERE Description = 'DESC-OOPS'
있지만 :
어떻게 부모 자식 관계에있다 '테이블 B'가 설립 됐나요? '계정'에 의한 것인가? – unlimit
부모 자식 관계는 Product.ID에 의해 설정됩니다. 더 간단하게 유지하기 위해 생략했습니다. :) – user1729889