1

わかりました。PL/SQLにデータベースがあります。

これが私のSQLの質問です:

SELECT t.AC_NUMBER, t.DATE, a.comment_1, a.comment_2, a.comment_3, a.comment_4
  FROM proddba.cust_info t
       left join proddba.cust_descr a on a.ac_number=t.ac_number
 where a.open_date=(select min(b.open_date) 
                      from proddba.cust_descr b 
                     where b.ac_number=t.ac_number 
                       and b.open_date>=t.date 
                       and b.open_dane<=t.date+7days)

現在までに+7日を動的に追加するにはどうすればよいですか?

min(b.open_date)次に、同じデータが2つある場合に、日付を1つだけ取得するにはどうすればよいですか。個別に使用する必要がありますか?

(select distinct min(b.open_date) 
   from proddba.cust_descr b 
  where b.ac_number=t.ac_number 
    and b.open_date>=t.date 
    and b.open_dane<=t.date+7days)

データベースから約15000レコードを取得する必要がある場合、これは機能するはずですか?

よろしくお願いします

4

1 に答える 1

1

単純に日数をDATE

t.date + 7

DATEinに正確に 7 日が追加されt.dateます (したがって、時間コンポーネントは保持されます)。

MINサブクエリはすでに単一のデータ値を返しDISTINCTます。出力が変更されることはないため、追加する必要はありません。複数の行を取得した結果、どのような問題が発生したのかわかりません。外側のクエリが同じa.open_date値を持つ 2 つの行を返し、1 つの行だけを取得しようとしていることに懸念を抱いていますか?

于 2012-12-06T22:20:47.097 に答える