我正在使用SQL Server 2008.我有一個包含來自手持掃描程序的數據的表。表名是ScanData。查詢以消除重複項並報告空值
Barcode ScanDate ScannerId
******* ******** *********
A000012 2013-02-19 11:55:02.900 SGH205YXHD
A000015 2013-02-21 11:30:02.767 SGH205YXHD
A000017 2013-02-21 11:29:19.507 SGH205YXHD
A000012 2013-02-19 10:58:02.900 5C7152P0SB
A000015 2013-02-19 10:41:02.400 SGH205YXHD
A000018 2013-02-19 10:25:02.140 5C7152P0SB
我有第二個表,鏈接到產品的條形碼。表名是條形碼。
Barcode ProductID
******* *********
A000012 CCC3047A-2E85-413F
A000015 2C4CD739-F09D-44D0
A000018 F48C9B37-7B2F-4446
我需要加入表格但沒有重複的條形碼值。在有重複的地方,應該選擇較高的時間戳。所以結果應該如下所示:
Barcode ScanDate ScannerId ProductID
******* ******** ********* *********
A000012 2013-02-19 11:55:02.900 SGH205YXHD CCC3047A-2E85-413F
A000015 2013-02-21 11:30:02.767 SGH205YXHD 2C4CD739-F09D-44D0
A000017 2013-02-21 11:29:19.507 SGH205YXHD null
A000018 2013-02-19 10:25:02.140 5C7152P0SB F48C9B37-7B2F-4446
請注意,爲產品ID返回第三行的值爲空值非常重要。
我已經嘗試過使用DISTINCT,PARTITION BY和GROUP BY,但是我所遵循的用於消除重複的示例沒有加入第二個表。
感謝您的幫助,並在sqlfiddle中顯示它。漂亮的工具。 – 2013-02-22 12:39:06