我正在尝试加入三个表格,我想获得货件ID,其中表2中的时间(发货的日期和时间)应小于表3。 Change_Date的格式为
select shipment_id from table1
left join table2 on table1.shipment_id=table2.shipment_id
left join table3 on table2.shipment_id=table3.shipment_id and table2.Code=table3.Code
where table2.change_date<table3.change_date
数据如下
表1
shipment_id
123456
表2
shipment_id--------------Change_Date-------------------------Code
123456------19-JAN-17 09.54.07.000000 AM----------------32
123456------19-JAN-17 10.54.07.000000 PM----------------51
表3
shipment_id--------------Change_Date-------------------------Code
123456------19-JAN-17 12.54.07.000000 PM----------------32
123456------19-JAN-17 07.54.07.000000 AM----------------32
123456------20-JAN-17 09.54.10.000000 AM----------------32
所以我需要输出为
shipemnt_id-------------Change_Date
123456--------19-JAN-17 12.54.07.000000 PM
123456--------20-JAN-17 09.54.10.000000 AM
请帮助
答案 0 :(得分:0)
如果我正确理解您的要求,您希望保留Table3
中给定货件的记录,其中的更改日期更大,而不是{{1>}中出现的同一货件的最近更改日期{1}}。如果是,那么我们可以创建一个子查询,用于标识Table2
中每个货件的最新更改日期,然后使用该子查询从Table2
中删除我们不想在我们的结果集。
Table3