私は2つのテーブルを持っています
Delivery
--------
deliveryid int (PK)
description long varchar
DeliveryHistory
---------------
historyid int
delievryid int
statusid int
recordtime timestamp
私がやろうとしているのは、各配信のDeliveryHistoryの最新のエントリのみを使用して、テーブルDeliveryからすべてのレコードを戻すための左外部結合です。ただし、DeliveryHistoryに配信のエントリがない場合は、null値が必要です。
私はこれをしました:
select d.deliveryid,d.description, h.statusid from delivery d
left outer join Deliveryhistory h on d.deliveryid = h.deliveryid
where h.recordtime =
( SELECT MAX(recordtime)
FROM Deliveryhistory
WHERE deliveryid = d.deliveryid)
ただし、DeliveryHistoryにエントリがある行のみが返されます。