我有一個表格,它的簡化形式有兩個日期字段和一個金額字段。其中一個日期字段包含訂單日期,其中一個字段包含發貨日期。我被要求報告按日期分組的訂購數量和發貨量。基於兩個日期字段的彙總表
我使用了自我連接,似乎工作正常,除了我發現它不適用於沒有新訂單的日期,但訂單已發貨。我很感激任何幫助,找出如何最好地解決這個問題。 (見下文)
Order_Date Shipped_Date Amount
6/1/2015 6/2/2015 10
6/1/2015 6/3/2015 15
6/2/2015 6/3/2015 17
的T-SQL
聲明我用如下:
select a.ddate, a.soldamt, b.shippedamt
from
(select order_date as ddate, sum(amount) as soldamt from TABLE group by order_date) a
left join
(select shipped_date as ddate, sum(amount) as shippedamt from TABLE group by shipped_date) b
on a.order_date = b.shipped_date
這導致:
ddate soldamt shippedamt
6/1/2015 15 0
6/2/2015 17 10
出貨2015年6月3日沒有按量顯然是因爲當天沒有新訂單。
注意到這個被在Visual FoxPro
表使用T-SQL
語法完成的,所以一些在比較流行的數據庫中發現的功能不存在(例如,PIVOT
)
謝謝!那就是訣竅。 – user3561813