2009-07-31 20 views
3

私は最大のcreate_dtを持つ行を返すようにしています。これはうまくいきますが、これを行うためのより適切な方法があるかどうかを知りたいのですが?このSQLクエリを書く良い方法はありますか?

select * from 
table1 
where job_no='101047' 
and 
create_dt in 
    (select max(create_dt) from  
     table1 where job_no='101047') 
+2

あなたはどのDB技術について言及していません。 – RichardOD

+1

申し訳ありませんが、私はmsSQLを使用しています。 – jr3

答えて

15

方法について:

Select top 1 * 
from table1 
where job_no = '101047' 
order by create_dt desc 
+0

表1からトップ1を選択してください。ここで、job_no = '101047'はcreate_dt desc – msvcyc

+0

になります。あなたが私を修正する機会がある前に私が訂正したように見えます。 :) – Dusty

+0

+1私はこれが好きです、私はascを使って最小の日付を得ることができます。ありがとうございます。私は好きではないネストされたクエリについてちょっとしたことがあります。 – jr3

4

create_dt
の複数の行がある場合は、複数の値を返すクエリどこjob_no = '101047'

これは良い仕事します

Select top 1 * from table1 
where job_no='101047' 
order by create_dt desc 
関連する問題