2016-05-20 10 views
0

私はsqlに私に5レコードを与えるクエリがありますが、最新のレコードを1つ表示したいと思います。以下は クエリから最新のレコードを取得

が結果

私のクエリ以下

Select a.mkey, c.type_desc DOC_TYPE, a.doc_no INWARD_NO, 
convert(varchar, a.doc_date,103)date, 
a.to_user, a.No_of_pages, Ref_No, d.type_desc DEPT_RECEIVED, b.first_name + ' ' + 
b.last_name EMP_RECEIVED, b.first_name + ' ' + b.last_name NAME, 
b.email 
    from inward_doc_tracking_hdr a , user_mst b ,type_mst_a c, 
    type_mst_a d 
where a.to_user = b.mkey and a.doc_type = c.master_mkey 
and a.dept_received = d.Master_mkey and a.to_user = '1260' 

されている[![クエリ] [1] [1]

私が使用しています私が試したsql-server-2005

TOP1しかし、それは私に最新のレコードを与えていません

+0

使用 'TOPを1 ' 'ORDER BY a.doc_date DESC'を使用します。 –

+0

@FelixPamittan:はい、うまくいきました。私は部分的に注文を逃しました。 – BNN

答えて

2

ヨあなたの質問にORDER BYを入れる必要があります。 ORDER BY句がなければ、TOPコマンドが期待した結果を返すという保証はありません。また

SELECT TOP 1 
    <column_list> 
FROM .... 
ORDER BY a.doc_date DESC 

が、あなたはavoid using the old-style JOIN syntax.

+0

はい、あなたは右のフェリックスです。 – BNN

+0

新しい質問を作成することをお勧めします。 –

+0

最新のレコードを送信していません、何らかの理由がありますか? – BNN

0

は、このクエリ試してみてください:

SELECT TOP 1 a.mkey, c.type_desc DOC_TYPE, a.doc_no INWARD_NO, 
convert(varchar, a.doc_date,103)date, 
a.to_user, a.No_of_pages, Ref_No, d.type_desc DEPT_RECEIVED, b.first_name + ' ' + 
b.last_name EMP_RECEIVED, b.first_name + ' ' + b.last_name NAME, 
b.email 
    from inward_doc_tracking_hdr a , user_mst b ,type_mst_a c, 
    type_mst_a d 
where a.to_user = b.mkey and a.doc_type = c.master_mkey 
and a.dept_received = d.Master_mkey and a.to_user = '1260' 
ORDER BY a.doc_date DESC 
関連する問題