proberen klantgegevens in één rij in een nieuwe weergave te plaatsen, informatie uit twee rijen te trekken, ik merk dat ik dubbele rijen met nullen krijg

proberen een nieuwe weergave te maken vanuit 2 andere tabellen, met de titel klantinformatie.

huidige verklaring luidt

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

nu werkt de verklaring prima en staat alles voor één klant op één rij, maar als de klant twee telefoonnummerrecords heeft, zou ik willen dat deze in de eerste kolom van de telefoon wordt gecatatineerd, ik heb geprobeerd de waarden te rangschikken en ze in een subselectie te gebruiken maar het lijkt niet allemaal samen te werken.

0
Probeer een aantal voorbeeldgegevens voor de tabellen en vervolgens de voorbeelduitvoer te posten. Je krijgt hier zeker een antwoord voor.
toegevoegd de auteur Adrian Carneiro, de bron

1 antwoord

Ongeautoriseerde oracle-functie met de naam WM_Concat

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

11g-functie LISTAGG zou ook werken

0
toegevoegd
accepteer het antwoord of stem je in? : D
toegevoegd de auteur xQbert, de bron
wm_concat precies wat ik briljant nodig had
toegevoegd de auteur Mike, de bron