- - PR -
SQL文において
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-03-18 13:28
SQL文の書き方についての質問なのですが、例えば
1.テーブルAの中にフィールドXがあり、フィールドXの中の値が100・200・300・400 と4つ値があったとして、その内の3つの値(100・200・300)のみを合計したデータをとりたい場合はどうしたらよいのでしょうか? 2.フィールドYがあり、その中に名称Bのデータが5つあった時、5つを1まとまりにするには同書けば良いのでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2004-03-18 13:37
1. select sum(X) from A where X in (100,200,300);
2. select distinct Y from ・・・・ # ごく初歩的なことなんで、こんなところで質問するより、入門書などでちゃんと 勉強することをお勧めします。 | ||||
|
投稿日時: 2004-03-18 13:41
1.
"X = 100 OR X = 200 OR X = 300" とWHERE句に付けてSUM(X)で取ればOKです。 2. "GROUP BY Y" とGROUP BYを使ってグループ化しましょう。 ----------- そうか、INってのがあるんだ。 [ メッセージ編集済み 編集者: 一郎 編集日時 2004-03-18 13:42 ] | ||||
|
投稿日時: 2004-03-18 13:57
ご回答のほど、ありがとうございます。本を読む時間がないために、こちらに書かせていただきました。すいませんでした。
もう1つ、お伺いしたいのですがさっきの1の質問で、DB上にあるデータで例えばフィールドXに1万件データがあったとして、その中にデータa(家賃)・データb(敷金)・データc(礼金)が繰り返し並んでいたとし、3つのデータを合計して、欲しい合計金額だけを抽出するSQL文なんて書けるのでしょうか? | ||||
|
投稿日時: 2004-03-18 14:24
それは、本来列として扱うデータではなく行として扱うデータではないのですか?
| ||||
|
投稿日時: 2004-03-18 14:24
フィールドはXだけではないのでは? データa(家賃)・データb(敷金)・データc(礼金)が何に結びついているか、 ようするにフィールドXを持つテーブルにユニークキーが別にあると思いますが? それがわかればSUM関数を使えば期待したSQLを書けると思います。 | ||||
|
投稿日時: 2004-03-18 14:56
回答ありがとうございます。
一応、テーブルAの中のフィールドe(契約番号)がプライマリキーとなっています。 そうした場合、選択された契約番号の物のデータa(家賃)・データb(敷金)・データc(礼金)を合計したのを抜き出すにはどうすれば良いのでしょうか? 現在やってみたら、a(家賃)・データb(敷金)・データc(礼金)×3レコード出てしまっています。 | ||||
|
投稿日時: 2004-03-18 15:01
eだけでは重複エラーになりませんか? 他にもう一つキーがあると思いますが。 SELECT SUM(X) AS 合計 FROM A GROUP BY e,もう一つのキー で期待する回答が得られると思いますが、 後々のためにSQLのSUM、GROUP BYを自分なりに理解してください。 #GROUP BY句 修正 [ メッセージ編集済み 編集者: 焼きそば 編集日時 2004-03-18 15:03 ] | ||||
