SQL Server 2005中我有以下行出货量信息,两个表:如何只选择1行最新的日期
TABLE1: SHIPMNT_NO SHIPMNT_LN_NO CUSTOMER TABLE2: SHIPMNT_NO SHIPMNT_LN_NO SHIP_DT QTY
有表2中多行与SHIPMNT_NO相同的值和SHIPMNT_LN_NO,但是对于发货日期(SHIP_DT)具有不同的值。
SHIPMNT_NO SHIPMNT_LN_NO SHIPMNT_DT 965271 1 2013-02-07 00:00:00.000 965271 1 2013-02-12 00:00:00.000 965271 1 2013-02-14 00:00:00.000 965271 1 2013-02-16 00:00:00.000 965271 1 2013-02-18 00:00:00.000
我需要加入表一起SHIPMNT_NO和SHIPMNT_LN_NO。但我只需要具有最近日期的独特SHIPMNT_NO和SHIPMNT_LN_NO行(SHIPMNT_DT)。
select a.SHIPMNT_NO, a.SHIPMNT_LN_NO, b.QTY from TABLE1 a join TABLE2 b on b.SHIPMNT_NO = a.SHIPMNT_NO and b.SHIPMNT_LN_NO = a.SHIPMNT_LN_NO Where?????
我可以做一个WHERE什么或JOIN或SUBQUERY?
希望它清楚我正在努力完成的任务,但如果您需要更多信息,请让我知道。
为什么,为什么你的列名没有字母'E'?你知道输入'SHIPMNT'比'发货'要难吗? – 2013-02-22 00:16:12
@AaronBertrand我敢打赌这是一个缩写*以节省时间* - 它与'_DATE'成对,缩短为'_DT'。我敢肯定,在输入这些名字时,必须*真正*集中注意力。 – andr 2013-02-22 00:48:47
@andr是的,我明白了,我认为这是一个非常不方便的缩写。元音很有用。 – 2013-02-22 00:58:35