2017-06-19 12 views
0

これは私のクエリです。最新の日付の日付を使用していないパラメータ

AND PTP.END_DATE = (Select MAX(END_DATE) FROM PAY_TIME_PERIODS WHERE END_DATE <=:to_date)-- Parameter 

私はテーブルから最新の終了日を取得しようとしたが、最新の日付が唯一の少数の人々を取得し、すべての人に届きません。あなたが任意のアイデアを持っている場合は

は、これはおそらく、クエリを記述するための最良の方法はありませんが、多くの情報を提供していない私に

+1

これはあなたのクエリではありません。単語「AND」で始まる有効な照会はありません。完全なクエリを表示し、データがクエリされるテーブルと目的の結果を記述します。あなたは、望みの結果のほとんどを説明しました。その点に関して:ある特定の人のために、同じ、最新の日付を持つ2つの行がある場合はどちらを優先すべきですか? (またはすべての行を返しますか?) – mathguy

+1

**あなたの質問と問題のテーブルのための 'create table'ステートメント、いくつかのサンプルデータとそのデータに基づいた予想される出力を追加してください。 [**フォーマットされたテキスト**](http://stackoverflow.com/help/formatting)、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload-images-of-code-on-so-asking-a-question/285557#285557)。コメントにコードや追加情報を投稿しないでください –

答えて

0

を助けてください。

あなたのサブクエリは、相関句を必要とするように思われる:

PTP.END_DATE = (SELECT MAX(END_DATE) 
       FROM PAY_TIME_PERIODS PTP2 
       WHERE PTP2.?? = PTP.?? AND END_DATE <=:to_date 
       )-- Parameter 

??は、あなたのテーブル内の人物を特定するものは何でもコラムです。

+0

私は何を与えるべきですか? – Babu

+2

@Babu - あなたのタブのユニークな列。副問合せのその部分は、主問合せと関連付けることです。基本的には、各行にどれだけの最大の日付を見つけたいかを言っています。 –

関連する問題