以下の 2 つの SQL クエリで完全結合を実行しようとしています。
最初のクエリ:
SELECT
ID
,SUM(CASE WHEN reason = 4 THEN 0 ELSE quantity*price END) AS TValue
,COUNT(*) AS CountAll
FROM table1
WHERE Date>=@StartDate AND Date<=@EndDate
GROUP BY ID
2 番目のクエリ:
SELECT
ID
,SUM(CASE WHEN reason = 1 THEN 1 ELSE 0 END) AS New
,SUM(CASE WHEN reason = 6 THEN 1 ELSE 0 END) AS Amend
,SUM(CASE WHEN reason = 5 THEN 1 ELSE 0 END) AS Cancel
FROM Table2
WHERE Date2 >=@StartDate AND Date2<= @EndDate
GROUP BY ID
query1 の結果
ID CountAll TValue
-------------------------
id1 24 1020
id2 13 2030
id3 4 120
クエリ 2 の結果:
ID New Amend Cancel
--------------------------------
id1 12 4 6
id2 7 6 1
id4 2 1 2
必要な出力:
ID TValue CountAll New Amend Cancel Total(countall+new+amend+cancel)
----------------------------------------------------------------------------------------
Id1 1020 24 12 4 6 46
Id2 2030 13 7 6 1 27
id3 120 4 0 0 0 4
Id4 0 0 2 1 2 5
リクエストがあれば、現在のソリューションを投稿しますが、うまくいきません。
私は少し調査を行ってきましたが、ユニオンを作成して ID に参加するか、完全に参加する必要があると思います。(SQLを実行して2日目)