![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
こんにちは。
PostgresのSQLが思うように動いてくれません!!
そのIDを持っている人がどのくらいの数を持っているのかを抽出したいのです。
テーブルは下記です。
*********************************************
★Aテーブル
ID 名前 数 場所 日付
0001 みかん 1 冷蔵庫 0901
0001 みかん 4 倉庫 0901
0001 みかん 1 冷蔵庫 0901
0002 いちご 1 部屋 0901
0002 いちご 2 部屋 0801
0003 きのこ 6 倉庫 0901
★Bテーブル
ID 名前
0001 みかん
0002 いちご
0003 きのこ
0004 あいす
*********************************************
となっている場合、下記SQLを実行すると
select a.ID ,b.名前 ,sum(a.数) as 数
from Aテーブル a,Bテーブル b
where a.日付 >= '0901'
and a.日付 <= '0901'
and a.ID = b.ID
group by a.ID ,b.名前, a.数
結果が
0001 みかん 2
0001 みかん 4
0002 いちご 1
0002 いちご 2
となり0001は合計6で出て欲しいのに別々に出てしまいます。
理想では
0001 みかん 6
0002 いちご 3
で出て欲しいです。
たとえばこの場合、場所によってなど出てしまうものでしょうか?
これはなぜなのでしょうか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
#2です。
ちゃんと見ていなかったですが、正規化という意味では、Aテーブルに名前は要らないですね。もしくは、#1さんの言うとおり、JOINする必要はないですね。この回答への補足
ありがとうございます。
できました!!
ありがとうございます。
ちなみになんですが
また別のテーブル(CテーブルにはAテーブルと同じような内容)がある場合にsumを使わずに+で足しても先に質問したように同じIDのものが何個か出ていました。
どこがまずいですか?
これだとgroup byに数をいれないとエラーになっていました。
select ID ,名前 ,a.数 + c.数 as 数
from Aテーブル a,Cテーブル c
where 日付 >= '0901' and 日付 <= '0901'
group by ID ,名前,a.数,c.数
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- その他(データベース) accessについて 2 2022/05/31 16:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
UPDATE文の更新順序について
-
SQLでUPSERTを一度に複数行やる...
-
単純なselectが遅くなるのです...
-
LASTVAL()の使い方
-
テーブルに存在しない列をselec...
-
最新レコードを抽出し外部結合...
-
よろしくお願いします。
-
PostgreSQL レコードからアイテ...
-
Postgresqlで配列に日付を格納...
-
PostgreSQLでのTimestamp列と数...
-
テーブルのレコードの追加でに...
-
SQLにて指定日付より前、かつ最...
-
javaでデータベース上のテーブ...
-
Postgresのデータ領域の拡張に...
-
SQLクエリで、3つ以上のテーブ...
-
reindex と update のデッドロック
-
テーブルのレコード件数取得に...
-
SQLのsum関数
-
【PostgreからSQL-Serverのテー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
SQLにて指定日付より前、かつ最...
-
SQLでUPSERTを一度に複数行やる...
-
単純なselectが遅くなるのです...
-
PostgreSQLの断片化の状況を確...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
Postgresのデータ領域の拡張に...
-
最新レコードを抽出し外部結合...
-
UPDATE文の更新順序について
-
テーブルを作ろうとしたら。
-
reindex と update のデッドロック
-
Postgresqlのレポート機能について
-
レコードを1件のみ取得した後...
-
テーブルにcsvファイルをインポ...
-
重複を許すキーの構文がわかり...
-
PostgreSQL 8.0.2 の ERROR: r...
-
フィールドの入れ替えはできま...
-
バキューム処理の実行時間の目安
おすすめ情報