
下記の様テーブルより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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
postgreSQLのオートナンバーに...
-
検索スピードの速い方法を教え...
-
テーブルからのselectにおいて...
-
Perl DBI でSELECT ilikeの結果...
-
特定カラムの値を変更したいの...
-
UNIQUEをつけたときのINDEXテー...
-
SQL文作成のお願い
-
ORA-00959: 表領域'****'は...
-
データを削除しても表領域の使...
-
DELETE文でFROM句を省略した場合
-
Data Pump で大量データインポ...
-
ACCESS 複数テーブル・複数フィ...
-
CLOB型へのINSERT
-
Viewにインデックスは張れ...
-
SQL*Loaderで、データを加工し...
-
異なるスキーマからデータを抽...
-
検索結果の列数を動的に変更したい
-
RDBのテーブル種類の違い
-
SQLでスキーマ名(所有者名)の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
テーブルからのselectにおいて...
-
PostgressからMySQL(MariaDB)...
-
ビット演算結果の取得
-
UNIQUEをつけたときのINDEXテー...
-
plpgsqlのエスケープ文字について
-
PostgresSQL8.4でツリー上に取...
-
SQL SELECT文 別テーブルのレコ...
-
クエリアナライザのsp_helpコマ...
-
pg_queryで変数の取り扱い方
-
テーブル作成 外部参照 配列
-
indexを使おうとしない間違った...
-
ベスト3の抽出方法
-
賢いSQL文がわからない
-
チェックボックスから、データ...
-
phpPgAdminからSQL文を発行し、...
-
SQLで検索結果の記事を表示したい
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
ORA-00959: 表領域'****'は...
おすすめ情報