下記の様テーブルよりproduct_idごとに【結果】の様な形として
出力したいと考えております。
【TableA】
order_id|product_id|product_name | quantity
001 product001 商品名1 2
002 product001 商品名1 1
002 product002 商品名2 2
003 product002 商品名2 1
003 product003 商品名3 1
【結果】
product_id|product_name|quantity|order_id
product001 商品名1 3 001, 002
product002 商品名2 3 002, 003
product003 商品名3 1 003
SELECT product_id, max(product_name), sum(quantity), order_id
FROM TableA
GROUP BY product_id, order_id
としてみたのですが、
product_id|product_name|quantity|order_id
product001 商品名1 3 001
product001 商品名1 1 002
product002 商品名2 2 002
product002 商品名2 1 003
product003 商品名3 1 003
となってしまい、order_idを上記の様にセルにまとめて表示する方法をお教え頂けますと幸いです。
MySQLではGROUP_CONCAT関数を使う事で実現出来たのですが
PostgreSQLでの実現方法が分かりかねています。
尚、PostgreSQLのバージョンはPostgreSQL 8.1.23です。
どなたかご教示頂けますと幸いです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
db2 "CREATE TABLE TableA (order_id char(3),product_id char(10), product_name char(20), quantity int)"
db2 "INSERT INTO TableA VALUES ('001','product001','商品名1',2),('002','product001','商品名1',1),('002','product002','商品名2',2),('003','product002','商品名2',1),('003','product003','商品名3',1)"
db2 "SELECT product_id, max(product_name), sum(quantity), substr(xmlserialize(xmlagg(xmltext(concat(', ',order_id))) as varchar(50)),3) FROM TableA GROUP BY product_id"
PRODUCT_ID 2 3 4
---------- -------------------- ----------- --------------------------------------------------
product001 商品名1 3 001, 002
product002 商品名2 3 002, 003
product003 商品名3 1 003
3 レコードが選択されました。
当方、DB2で実行しています。PostgreSQLで使えればいいのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 食べ物・食材 フジパンのパン製品で、おいしいと思ったパンを教えてください。 1 2023/01/15 16:12
- レディース dholicの商品について。好みは https://m.dholic.co.jp/product/g 1 2022/08/22 22:40
- その他(スマートフォン・携帯電話・VR) スマホケース 1 2022/09/30 17:00
- 格安スマホ・SIMフリースマホ 楽天モバイル OPPO A55s 5G この機種は NNP したら格安スマホどこでもできる 4 2022/06/29 10:17
- Wi-Fi・無線LAN パソコンインターネット接続方法について 7 2022/10/29 17:59
- 格安スマホ・SIMフリースマホ 楽天モバイル父はクレカがない 自分が一緒にいけば自分のクレカで購入して割引できますよね? 4 2022/06/28 02:35
- 格安スマホ・SIMフリースマホ Rakuten Hand 5G 1円で買えると思ったらポケット wi-fi も買わないといけない 4 2022/07/23 23:41
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessについて 2 2022/05/31 16:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルからのselectにおいて...
-
postgreSQLのint型は桁数指定が...
-
UNIQUEをつけたときのINDEXテー...
-
phpPgAdminからSQL文を発行し、...
-
3つのテーブルの処理について
-
PostgressからMySQL(MariaDB)...
-
データを削除しても表領域の使...
-
異なるスキーマからデータを抽...
-
Viewにインデックスは張れ...
-
count(1)とcount(*)の違い
-
INDEXの無効化
-
CLOB型へのINSERT
-
datapumpの実行方法について
-
DELETE文でFROM句を省略した場合
-
viewのバックアップ
-
ACCESS 複数テーブル・複数フィ...
-
truncate文で全テーブルを一気...
-
カラムの存在チェック
-
Access レコードを追加できませ...
-
特定のスキーマのテーブルを一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
テーブルからのselectにおいて...
-
クエリアナライザのsp_helpコマ...
-
UNIQUEをつけたときのINDEXテー...
-
PostgressからMySQL(MariaDB)...
-
pl/pgsqlで変数の扱い
-
SQL SELECT文 別テーブルのレコ...
-
SQLで検索結果の記事を表示したい
-
3つのテーブルの処理について
-
PostgreSQLでの複数結果のまとめ方
-
PostgresSQL8.4でツリー上に取...
-
SQL文作成のお願い
-
賢いSQL文がわからない
-
postgreSQLの正規表現
-
テーブル作成 外部参照 配列
-
もうちょっと賢いSELECT文が書...
-
Postgresqlの自己結合について
-
2つの異なるテーブルを和結合し...
-
全テーブルのデータの行数
-
チェックボックスから、データ...
おすすめ情報