2010-12-01 23 views
1

私は部品の最新の(最新の)レコードを取得することに直面しています。私の唯一の方法は、「最大の日付」アプローチを使用して行うことです。日付と時刻は別々の列で、時刻は秒形式で、「max datetime」を取得する方法は?

ldDate     ldTime ldPart   id 
2010-10-26 00:00:00.000 52867 90-R6600-4100 186 
2010-11-01 00:00:00.000 24634 90-R6600-4100 187 
2010-11-24 00:00:00.000 58785 90-R6600-4100 194 
2010-11-24 00:00:00.000 58771 90-R6600-4100 195 
2010-11-17 00:00:00.000 29588 90-R6600-4100 201 
2010-11-08 00:00:00.000 29196 90-R6600-4100 282 
2010-11-08 00:00:00.000 29640 90-R6600-4100 290 
2010-10-19 00:00:00.000 58695 90-R6600-4100 350 
2010-09-22 00:00:00.000 32742 BH4354-F0  338 
2010-09-22 00:00:00.000 32504 BH4354-F0  340 
2010-11-17 00:00:00.000 31157 BH4354-F0  206 
2010-11-08 00:00:00.000 27601 BH4354-F0  218 
2010-11-08 00:00:00.000 27865 BH4354-F0  21 
2010-09-22 00:00:00.000 23264 BR6950-F0  70 
2010-09-22 00:00:00.000 23270 BR6950-F0  77 
2010-09-24 00:00:00.000 27781 BR6950-F0  97 
2010-11-24 00:00:00.000 57735 BR6950-F0  196 

は、私は上記の持っていることは時間がないとldDateで、ldTimeではなく、適切なHH:MM:SS表現ここ

は、基本的なスキーマ(サンプルデータ)であります、それは午前0時からの秒なので、最初の行は次のようになります。

52 867:

2010-10-26 00:00:00.000 52867 または私は時間を変換する場合秒= 14.6852778時間 〜2010-10-26 14:68:52

SQLクエリで両方の列を組み合わせることができますか?私は単純なmax(ldCombinedDate)とldPart(part number)でグループ化したい。

idはほとんど役に立たないので、無視してください。レコードが挿入された順序は今のところあります。ネストされたクエリにはおそらく何も使用できませんでしたか?注:エントリの順序を組み合わせた日付を返します...

おかげで...

+2

あなたは、私はすべて正直カントーに...転がるか – Oded

+0

のthats ...あなたの時間で68分を持っているように見える、私は、分が何であるかを気にしません私は最大の日付/時間が欲しいので。 – Jakub

答えて

4

表現

DATEADD(second, ldTime, ldDate) 

を最新の日付を意味するものではありません。だから、私はあなたがこのような何かをしたいと思います:

SELECT ldPart, MAX(DATEADD(second, ldTime, ldDate)) AS MaxCombinedDate 
    FROM yourtable 
GROUP BY ldPart 
+0

+1素敵でシンプルな、それを愛して、ちょうど私が必要なもの。 – Jakub

関連する問題