• ベストアンサー

Access 近似する日付の検索

任意の日付を入れるとその日が営業していればその日の特売品、その日が営業日でなければ次に営業する日の特売品を抽出するクエリ(SQL、関数など)を教えてください。 たとえば、下記のテーブルAがあったときに、次のように動作します。 2000/01/01と入力→2000/01/01、たまごと表示 2000/01/02と入力→2000/01/04、トマトと表示←次営業日 2000/01/03と入力→2000/01/04、トマトと表示←次営業日 2000/01/04と入力→2000/01/04、トマトと表示 テーブルA --営業日------特売品--- 2000/01/01--たまご 2000/01/04--トマト 2000/01/05--ピーマン 2000/01/06--にんじん ちなみに営業日と曜日は関係なく、不定期です。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • paz777
  • ベストアンサー率47% (77/163)
回答No.2

おはようございます。 >日付を一つのレコードでなく、下記のようなテーブルBとあった場合に >特売品を出す方法をSQLを教えて頂けないでしょうか。 >テーブルB >----日付----- >2000/01/01 >2000/01/02 >2000/01/03 >2000/01/04 >・・・ そのような時はこんなSQLで良いように思います。 ------------------------------------------------ SELECT B.日付, A.* FROM テーブルA AS A, テーブルB AS B WHERE (((A.営業日)= (SELECT MIN(C.営業日) FROM テーブルA C WHERE C.営業日 >= B.日付))); ------------------------------------------------ お試しください。 ではでは・・・

unique
質問者

お礼

ありがとうございます。うまく動きました。

その他の回答 (1)

  • paz777
  • ベストアンサー率47% (77/163)
回答No.1

こんにちは。 多分こんなSQLで良いと思います。 ------------------------------------------------ SELECT * FROM テーブルA WHERE 営業日 = (SELECT MIN(営業日) FROM テーブルA WHERE 営業日 >= #2000/01/02#); ------------------------------------------------ お試しください。 ではでは・・・

unique
質問者

お礼

ありがとうございます。動きました。ご存知であればぜひ御教え頂きたいのですが、日付を一つのレコードでなく、下記のようなテーブルBとあった場合に特売品を出す方法をSQLを教えて頂けないでしょうか。 テーブルB ----日付----- 2000/01/01 2000/01/02 2000/01/03 2000/01/04 ・・・

関連するQ&A

専門家に質問してみよう