пытаясь перечислить данные клиента в одной строке в новом представлении, рисуя информацию из двух строк, я обнаружил, что получаю дублирующиеся строки с нулями - PullRequest
0 голосов
/ 27 октября 2011

пытается создать новый вид из 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 записи телефонных номеров, я хотел бы, чтобы это было конкатенировано в первом телефонном столбце, я попытался ранжировать значения и использовать их в подвыборке, но, кажется, не может заставить все это работать вместе.

1 Ответ

0 голосов
/ 27 октября 2011

Недокументированная функция оракула под названием WM_Concat

http://www.oracle -base.com / Статьи / Разное / StringAggregationTechniques.php

11g функция LISTAGG также будет работать

...