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に対して1行だけを選択したいと思います。 出力テーブルが生じるはずである:SQL Server 2008.日付のみを使用して1つの行を選択する方法
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ごとに1つのレコードしか返しません。現在、複数の行が同じIDに対して返されます。なぜなら、それぞれの人が異なる日付で予定に来ることができるからです。私は、日付が現在の日付から最も早い日付であるところに各人物の1つのレコードだけが表示されるすべてのデータを選択したいと思います。たとえば、同じ日付の同じ人物の2つのレコード(07/07/17と08/07/17)がある場合は、現在の日付から7/07/17だけ早い日付を使用します。 – hhpe
私は答えを更新しました。 –