Select MIN([appdate]), CustID, CustAtt, Surname, Firstname, itemType
From table
Where appDate > (getdate())
Group by CustID, CustAtt
CustAtt CustID Surname Firstname appDate itemType
53247 20675 A AX
49535 12/FX08 B BX 14/08/2017 solid
70433 400039 C CX
67119 413555 D DX
51406 27/EY07 E EX 14/07/2017 Liquid
51406 27/EY08 E EX 13/09/2017 Gas
51406 27/EY09 E EX 11/12/2017 Solid A
51406 27/EY10 E EX 06/06/2018 Liquid A
82820 410053 F FX
52395 29/FA72 G GX 25/09/2017 Gas A
89488 414282 H HX
55855 412799 I IX 30/08/2017 Solid
55855 412799 I IX 21/08/2017 Liquid
53248 16/EK15 J JX 06/07/2017 Gas
53248 16/EK15 J JX 17/07/2017 Solid B
89835 911528 K KX 08/05/2018 Solid B
以上是我從上述腳本輸出的代碼片段,但沒有給我所需的輸出。我只想根據appdate列從我的數據集中爲每個CustID & CustAtt選擇一行。SQL SERVER 2008.如何僅基於日期選擇一行
所需的輸出應包括從當前日期的下一個最早日期,在的情況下的日期相同的任何給定行是可接受的: 輸出表應產生:
CustAtt CustID Surname Firstname appDate itemType
53247 20675 A AX
49535 12/FX08 B BX 14/08/2017 solid
70433 400039 C CX
67119 413555 D DX
51406 27/EY07 E EX 14/07/2017 Liquid
82820 410053 F FX
52395 29/FA72 G GX 25/09/2017 Gas A
89488 414282 H HX
55855 412799 I IX 21/08/2017 Liquid
53248 16/EK15 J JX 06/07/2017 Gas
89835 911528 K KX 08/05/2018 Solid B
我想每個ID只返回一個記錄。目前多個行都返回相同的ID,因爲每個人都可以在不同日期進入約會。我想選擇所有數據,其中每個人只有一條記錄顯示,其中日期是從當前日期開始的最早日期。例如,如果我有同一人在不同日期(07/07/17和08/07/17)的2條記錄,我希望最早的日期是07/07/17。 – hhpe
我已經更新了答案。 –