- 締切済み
access 2つのテーブルの最新日付の大小
顧客はIDにて管理していて、請求日テーブルに顧客ID、請求日の2つのフィールド、入金日テーブルに顧客ID、入金日と作り、どんどん追加していく仕組みにしています。 ここで、未入金の顧客を探したいと思っています。 入金日>請求日であれば出るとは思うのですが、SQLにて select max(T入金日.入金日) as 入金日, T入金日.ID from T入金日 group by T入金日.ID と作り、同様に請求日の式も作りましたが、この式どうしを比べる方法がわかりません。 クエリのデザインビューでも同じようなところまでは作れるのですが… また、請求日を基準にして前後半年入金のない顧客を探せる方法もあれば合わせて教えていただきたいです。 ヒントや作り方でもいいので、何かご教授ください
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yamada_g
- ベストアンサー率68% (258/374)
回答No.1
未入金って >入金日>請求日 なのでしょうか?請求日の後に入金されているのに未入金? 入金日<請求日なのではないかという気がします。 とりあえず、以下のようなSQLで顧客IDごとの最終請求日と最終入金日を取得すれば、 いろいろ出来るのではないかなと思います。 select 請求T.顧客ID, max(請求T.請求日) as 最終請求日, max(入金T.入金日) as 最終入金日 from 請求日テーブル as 請求T left join 入金日テーブル as 入金T on (請求T.顧客ID = 入金T.顧客ID) group by 請求T.顧客ID; 請求日テーブルに存在しない顧客IDが入金日テーブルに存在する、 ということは無い前提です。 参考になれば幸いです。
お礼
ありがとうございます。 今まで日付同士を引き算してマイナスになれば未入金、みたいな式でしか作っていなかったのでもう少し応用が効く仕組みを作りたいです。 まだまだ勉強させて頂きます。