试图在新视图中列出一行客户详细信息,从两行绘制信息,我发现我正在获得带有null的重复行



试图从另外两个表创建一个名为"客户信息"的新视图。

当前语句读取

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个电话号码记录,我希望它连接在第一个电话列中,我试图对值进行排序并在子选择中使用它们,但似乎无法将它们全部工作在一起。

未记录的oracle功能WM_Concat

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

11g函数LISTAGG也可以

最新更新