- - PR -
SQLに関して教えてください
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-11-10 01:06
以下のようなSQLを組みたいのですがどうすればいいのかわかる方ご教授願います
テーブルは2つあります ・顧客テーブル 顧客コード(PrimaryKey) 顧客名 ・販売テーブル 顧客コード(PrimaryKey) 販売日(PrimaryKey) 販売金額 販売テーブルは顧客コード、販売日別で販売金額が複数レコード存在します 例えばデータ外かのように入っていた場合ですが ・顧客テーブル 顧客コード 顧客名 11111 顧客1 22222 顧客2 ・販売テーブル 顧客コード 販売日 販売金額 11111 2007/9/1 100 11111 2007/10/1 200 11111 2007/11/1 300 22222 2007/9/2 500 22222 2007/10/2 400 22222 2007/11/2 100 現在日付(2007/11/9とします)より以前で150円以上の販売金額のデータを以下のように取得したいのですが どのようなSQLを組めばいいのでしょうか? 顧客コード 顧客名 販売日 販売金額 11111 顧客1 2007/11/1 300 22222 顧客2 2007/10/2 400 | ||||
|
投稿日時: 2007-11-10 02:03
DBが書かれていないのでMS-Accessのデザインビューで作ったら(ぉぃ)こんなSQLになってました。
とりあえずはこちら↓あたりを眺めてみればどうでしょう? http://www.pursue.ne.jp/SQLDoc/SQL.htm http://www.pursue.ne.jp/jouhousyo/SQLDoc/select21.html http://www.pursue.ne.jp/jouhousyo/SQLDoc/select12.html | ||||
|
投稿日時: 2007-11-10 02:39
すみません、情報が足りませんでした。
DBはPostgreSQLです また、条件も間違っていました 現在日付(2007/11/9とします)より以前で直近の日付でかつ 150円以上の販売金額のデータを以下のように取得したいのですが どのようなSQLを組めばいいのでしょうか? (顧客単位で1レコードを取得したいのです) 期待する結果 顧客コード 顧客名 販売日 販売金額 11111 顧客1 2007/11/1 300 22222 顧客2 2007/10/2 400 | ||||
|
投稿日時: 2007-11-10 09:36
ORACLEだと便利な関数とかあったりするのかもしれないけど(ていう下記SQL自体
無駄があるかもしれないけど)やりたいことはこんな感じですかね。
| ||||
|
投稿日時: 2007-11-10 13:49
プログラムで、顧客コードを条件に1件1件処理を行うのであれば
下記のようになるかと。
まとめてデータを取得するなら、べるさんの書き込み通りになると思います。 | ||||
|
投稿日時: 2007-11-11 03:42
皆さんありがとうございました、おかげさまで解決できそうです!
|
1