新しいビューの1つの行に顧客の詳細を表示しようとすると、2つの行から情報を描画する

顧客情報という2つのテーブルから新しいビューを作成しようとしています。

現在の文の読み込み

select c.customer_id, c.name, 
max(decode(cat.method_id, 'Phone', cat.value))phone,
max(decode(cat.method_id, 'Fax', cat.value))fax, 
max(decode(cat.method_id, 'Mobile', cat.value))mobile,
max(decode(cat.method_id, 'E-Mail', cat.value))email
from table_1 c, table_2 cat
where c.customer_id = cat.customer_id
group by c.customer_id, c.name

今のステートメントは正常に動作し、1つの顧客のすべてが1行に表示されますが、顧客が2つの電話番号レコードを持っている場合は、最初の電話欄でconcatinatedしたいと思います。値をランク付けしてサブセレクトで使用しようとしましたそれがすべて一緒に働くように見えることはできません。

0
テーブルのサンプルデータとサンプル出力を投稿してみてください。あなたは確かにこれを行う答えを得るでしょう。
追加された 著者 Adrian Carneiro,

1 答え

WM_Concatと呼ばれる記載されていないOracle機能

http://www.oracle-base.com/articles/misc/StringAggregationTechniques.php

11gの関数LISTAGGも機能します

0
追加された
答えを受け入れるか投票するか? :D
追加された 著者 xQbert,
wm_concatちょうど私が必要な輝かしい
追加された 著者 Mike,