확인 - 보았고 많은 예제를 발견했지만 내 필요를 충족시키지 못했습니다. 어쩌면 내가 검색 할 때 잘못된 단어를 사용했을 지 모르지만 나는 당신의 도움을 사용할 수 있습니다. 내가 할 수있는 한 자세히 설명해 줄 것이다.통합 문에서 중복 행을 제거하는 방법
보고서의 두 테이블 또는 뷰와 테이블의 필드를 하나의 테이블로 병합하는 보고서를 만들어야합니다.
SELECT A.ConfInt, A.Conference,
NULL as Ordered,
NULL as Approved,
NULL as PickedUp,
SUM(dbo.Case_Visit_Payments.Qty) AS Qty
FROM dbo.Conferences as A INNER JOIN
dbo.Case_Table ON A.ConfInt = dbo.Case_Table.Conference_ID INNER JOIN
dbo.Case_Visit_Payments ON dbo.Case_Table.Case_ID = dbo.Case_Visit_Payments.Case_ID
WHERE (dbo.Case_Visit_Payments.Item_ID = 15 AND A.ProjectCool = 1)
GROUP BY A.Conference, A.ConfInt
UNION
SELECT B.ConfInt,
B.Conference,
SUM(dbo.Cool_Fan_Order.NumberOfFansRequested) AS Ordered,
SUM(dbo.Cool_Fan_Order.Qty_Fans_Approved) AS Approved,
SUM(dbo.Cool_Fan_Order.Qty_Fans_PickedUp) AS PickedUp,
NULL AS Qty
FROM dbo.Conferences as B LEFT OUTER JOIN
dbo.Cool_Fan_Order ON B.ConfInt = dbo.Cool_Fan_Order.Conference_ID
where B.ProjectCool = 1
GROUP BY B.Conference, B.ConfInt
그리고 여기 결과가 있습니다 : 여기 내가 사용하고있는 문이다
4 Our Lady NULL NULL NULL 11
4 Our Lady 40 40 40 NULL
7 Holy Rosary 20 20 20 NULL
11 Little Flower NULL NULL NULL 21
11 Little Flower 5 5 20 NULL
19 Perpetual Help NULL NULL NULL 2
19 Perpetual Help 20 20 20 NULL
나는 같은 중복 행이없는 것입니다 선호 강하게 것이다 무엇 :
4 Our Lady 40 40 40 11
7 Holy Rosary 20 20 20 NULL
11 Little Flower 5 5 20 21
19 Perpetual Help 20 20 20 2
을
나는이 질문이 충분히 명확했기를 바란다. 어떤 제안이라도 대단히 감사하겠습니다. 나는 답을 표시했다. :)
그레고리
상관 하위 쿼리가 트릭을 수행했습니다. 그것은 완벽하게 작동했습니다. 무리 감사. –
BTW : SELECT 테이블에 상관 된 하위 쿼리가있는 문에 공통 테이블식이 필요하지 않습니다. CTE는 (FROM 절에있는) 인라인 뷰로 쉽게 대체 될 수 있습니다. 이것은 인라인 뷰가 MySQL 인 경우 수행해야 할 작업입니다. – spencer7593