#62 | 指定商品を1年前に購入した顧客を表示する | ||
"1年前"という条件をどのように解釈するかはさまざまですが、ここでは、今日からみて去年の1月1日から12月31日の間と考えます。この場合、"2001/01/01〜2001/12/31"と日付を直接指定してもよいのですが、汎用性を持たせるために、日付を処理する関数を使ってみます。 具体的には、年・月・日をそれぞれ別々に与えることによってその日付データを返す「Dateserial関数」を使って、次のような演算式を抽出条件欄に入力します。次の式で、「Date()」は今日の年月日、「Year(Date())」は今日の"年"になります。よって「Year(Date())-1」は去年の"年"を表します。今日が2002年であれば、「DateSerial(Year(Date())-1,1,1)」の式によって2001年1月1日が表されることになります。 Between DateSerial(Year(Date())-1,1,1) And DateSerial(Year(Date())-1,12,31)) Date関数を使って今日の日付を取得してからそれに対する1年前の日付を計算していますので、これなら何年経っても"1年前"のデータを常に抽出することができます。 SELECT tbl売上伝票.売上日付, tbl売上伝票.顧客コード, mtbl顧客マスタ.顧客名,
tbl売上伝票明細.商品コード
FROM (tbl売上伝票 INNER JOIN tbl売上伝票明細 ON tbl売上伝票.伝票番号 = tbl売上伝票明細.伝票番号) INNER JOIN mtbl顧客マスタ ON tbl売上伝票.顧客コード = mtbl顧客マスタ.顧客コード WHERE (((tbl売上伝票.売上日付) Between DateSerial(Year(Date())-1,1,1) And DateSerial(Year(Date())-1,12,31)) AND ((tbl売上伝票明細.商品コード)=164)) ORDER BY tbl売上伝票.売上日付; |
|||
|
Copyright © T'sWare All rights reserved |