- - PR -
ORACLEで文字列結合について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-24 14:13
ORACLE 10gで下記のようなテーブルを元にVIEWを作ろうと考えています。
お店テーブル -------------------- お店ID 店名 -------------------- 00000001 AAAA 00000002 BBBB -------------------- 商品テーブル ---------------------- 商品ID 商品名 ---------------------- S001 大根 S002 ネギ S003 トマト ---------------------- 取り扱いテーブル ---------------------- お店ID 商品ID ---------------------- 00000001 S001 00000001 S002 00000001 S003 00000002 S001 00000002 S003 ---------------------- 取り扱いテーブルでお店テーブルと商品テーブルを結合したVIEWを 作成するのですが、下記VIEWのようにお店1に対して1レコードにしたいです。 そのために商品名を「,」区切りで1レコードに表示する方法(SQL) などありますでしょうか? 取り扱いVIEW -------------------------------------------------------- お店ID 店名 取り扱い商品 -------------------------------------------------------- 00000001 AAAA 大根,ネギ,トマト 00000002 BBBB 大根,トマト -------------------------------------------------------- いろいろ調べたのですが、見つからず投稿いたしました。 もしよろしければご教授願います。 以上、宜しくお願いいたします。 | ||||
|
投稿日時: 2007-10-24 14:20
商品の数がいくつになるか不定の場合には無理です。
最大数がわかっていれば何とかなりますけど。 | ||||
|
投稿日時: 2007-10-30 09:18
無理ですかぁ。。。
ありがとうございます。 別の方法を検討してみます。 | ||||
|
投稿日時: 2007-10-30 12:37
直接の回答じゃないけど、
Group_Concat関数を階層問い合わせで模倣(oraclesqlpuzzle.hp.infoseek.co.jp) を使えばできそうな気がする。 ってか、もう見てないかも... | ||||
|
投稿日時: 2007-10-30 14:37
回答とは無関係
この質問は定期的にでてくるなぁ | ||||
|
投稿日時: 2007-10-30 16:16
無理やりですがSQL Server 2005 Expressでやってみました。
Oracle 10gがSQL99の共通表式(Common Table Expression)に対応していれば出来るのではないでしょうか? # SQL文の間違いを修正しました。 [ メッセージ編集済み 編集者: AC 編集日時 2007-10-30 16:21 ] | ||||
|
投稿日時: 2007-11-04 11:49
返信遅れて申し訳ありません。
>かずくんさん 参考サイト提示して頂きありがとうございます。 さっそく検証してみます。 >七味唐辛子さん 同じ投稿になったようで、申し訳ありません。 みなさんも結構同じところで悩んでるのですねw ちょっと過去の投稿を検索してみます。 >ACさん ご丁寧にSQL文を提示して頂きまして、ありがとうございます。 コチラもさっそく検証してみます。 返信して頂いたみなさん、ご協力感謝致します。 |
1