2011-10-27 2 views
0

2つのテーブルから新しいビューを作成しようとしました。2つの行から顧客情報を1行で表示しようとしましたが、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 

を読み、今の文が正常に動作し、一人の顧客のためにすべての顧客が2本の電話番号の記録を持っているが、単一の行にある、私はそれが最初の電話で連接されたいです私は値をランク付けし、サブセレクトでそれらを使用しようとしましたが、すべてが一緒に働くように見えませんでした。

+0

はテーブルと、サンプル出力のためのいくつかのサンプルデータを掲載してみ働くだろうWM_Concat

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

と呼ばれます。あなたは確かにこれを行う答えを得るでしょう。 –

答えて

0

文書化されていないOracleの機能では、11グラム機能LISTAGGも

+0

wm_concatちょうど私が必要なのは華麗 – Mike

+0

答えを受け入れるか投票するか? :D – xQbert