[前][次][番号順一覧][スレッド一覧]

mysql:8907

From: "山本 瑞己" <"山本 瑞己" <mizuki-yamamoto@xxxxxxxxxx>>
Date: Fri, 5 Mar 2004 16:10:57 +0900
Subject: [mysql 08907] Re: 日付検索

いつもこのML参考にさせてもらってます、山本と申します
こんなのはどうでしょう?

create table report_tbl (
    num int not null,
    date datetime not null
    );

select num from report_tbl group by num having max(date) <
date_sub(sysdate(), interval 2 month);

ちなみに下記レポートデータだと3も抽出されます。
(たぶん最後の行の2003/01/20は2004/01/20の間違えでは?)

勘違いでしたら、すみません。

----- Original Message ----- 
From: "infoweb" <fwkn8598@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Friday, March 05, 2004 3:33 PM
Subject: [mysql 08906] 日付検索


> スズキと申します。現在日付による検索について悩んでいます。過去ログなどで検> しましたが
> 未だ良い方法が見つけられず困っています。皆さんの知恵を拝借できれば大変あり> たいです。
>
> 顧客テーブルとレポートテーブルがあります。
>
> 顧客テーブルには
>
>   顧客番号   顧客名      住所
> ----------+---------+-------+
>       1         | ああああ  |  東京    |
> ----------+---------+-------+
>       2         | いいいい  |  埼玉    |
> ----------+---------+-------+
>       3         | ううううう   |  千葉    |
> ----------+---------+-------+
>       4         | ええええ   |  大阪    |
> -----------------------------
>
> レポートテーブルには
>
>   顧客番号    内容              日付
> ----------+---------+--------------+
>       1         |    etc    |    2004-01-15   |
> ----------+---------+--------------+
>       2         |    etc    |    2003-11-20   |
> ----------+---------+--------------+
>       3         |    etc    |    2003-12-01   |
> ----------+---------+--------------+
>       1         |    etc    |    2003-12-24   |
> ----------+---------+--------------+
>       4         |    etc    |    2004-01-01   |
> ----------+---------+--------------+
>       4         |    etc    |    2003-11-20   |
> ----------+---------+--------------+
>       2         |    etc    |    2003-12-20   |
> ------------------------------------
>       3         |    etc    |    2003-01-20   |
> ------------------------------------
>
> などと入っています。
> やりたいことは本日より過去2ヶ月以内にレポートの登録がある顧客以外の顧客番
> 号、または最新のレポート内容
> を抽出することです。上の場合だと、顧客番号2と4が結果として得られる。
> いろいろ試してみたのですがどれもしっくりいかず投稿した次第です。
>
> 1.過去2ヶ月以内に登録されてあるレポートの顧客番号をグループ化などをして> 出し、配列に入れる。
> 2.レポートを日付に限らずグループ化し顧客番号を配列に入れる。
> 3.php上で配列を照らし合わせ1の配列に顧客番号があれば表示しない。
>
> または顧客テーブルに日付フィールドを追加してレポートの登録があった場合顧客
> テーブルの日付を更新する。
>
> など、これは考えたほんの一例ですが1の場合レポートや顧客の数が増えれば増え> ほど・・・。2はテーブルを
> いじらなければならない・・・なるべく既存の状態で行いたい。そしてできれば一> のsql文で結果を得たい。
>
> そもそも一つのsql文で出来るのでしょうか?どうも良い方法が思いつきません。> 然でしかもぶしつけな書き方で
> 申し訳ありませんがよろしくお願いします。
>
> 環境
> php4.0.6
> MySQL 3.23.56-MAX
>
> /***********************/
>             Ryo Suzuki
>  fwkn8598@xxxxxxxxxx
> /***********************/
>
>


[前][次][番号順一覧][スレッド一覧]

      8906 2004-03-05 15:33 ["infoweb" <fwkn8598@] 日付検索                                
->    8907 2004-03-05 16:10 ┣["山本 瑞己" <mizuki]                                       
      8908 2004-03-05 16:54 ┃┗["infoweb" <fwkn8598@]                                     
      8909 2004-03-05 17:59 ┣[ML account <ml@xxxxx]                                       
      8927 2004-03-08 15:58 ┗[<n.futami@xxxxxxxxxx]