DB2SQL分区
我遇到的问题是不能为同一个单元显示不同的订单日期DB2SQL分区,sql,db2,Sql,Db2,我遇到的问题是不能为同一个单元显示不同的订单日期 Unit OrderDate ShipDate ReceiptDate Robot 20160101 20160102 20160103 Robot 20160102 20160103 20160104 Robot 20160103 20160104 20160105 相反,它显示的是所有三条记录的相同订单日期 单位订单日期发货日期收货日期 机器人2016010
Unit OrderDate ShipDate ReceiptDate
Robot 20160101 20160102 20160103
Robot 20160102 20160103 20160104
Robot 20160103 20160104 20160105
相反,它显示的是所有三条记录的相同订单日期
单位订单日期发货日期收货日期
机器人20160101 20160102 20160103
机器人20160101 20160103 20160104
机器人20160101 20160104 20160105
您显示的输出似乎与查询不匹配。如果按该列分组,如何得到salesorder.unitid的三个相同值?我猜您实际上希望按salesorder.eventdate分组
SELECT salesorder.unitid "Unit",
max(salesorder.eventdate) "OrderDate",
max(salesdelivery.eventdate) "ShipDate",
max(salesreceipt.eventdate) "ReceiptDate"
FROM (
SELECT eventdate,
unitid
FROM sales
WHERE event = 'ORDER'
AND eventdate > '2015-12-31'
AND eventdate < '2016-02-01'
) salesorder
LEFT OUTER JOIN (
SELECT eventdate,
unitid
FROM sales
WHERE event = 'SHIP'
AND eventdate > '2015-12-31'
AND eventdate < '2016-02-01'
) salesdelivery ON salesorder.unitid = salesdelivery.unitid
LEFT OUTER JOIN (
SELECT eventdate,
unitid
FROM sales
WHERE event = 'RECEIPT'
AND eventdate > '2015-12-31'
AND eventdate < '2016-02-01'
) salesreceipt ON salesdelivery.unitid = salesreceipt.unitid
WHERE salesdelivery.eventdate > salesorder.eventdate
AND salesreceipt.eventdate > salesdelivery.eventdate
AND salesorder.unitid = '001'
GROUP BY salesorder.unitid