• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] SQL Abfrage von Oracle DB?

klin

Newbie
Hi,

brauche Hilfe bei SQL Abfrage Erstellung:
Vorhanden Oracle-View:

LOCAL # NAME # VALUE # DIM
01.02.2006 01:00 #Zucker #20 #kg
01.02.2006 01:00 #Salz #15 #kg
01.02.2006 01:00 #Wein #5 #l
01.02.2006 01:00 #Essig #25 # l
01.02.2006 02:00 #Zucker #28 #kg
01.02.2006 02:00 #Salz #17 #kg
01.02.2006 02:00 #Wein #45 #l
01.02.2006 02:00 #Essig #5 # l
u.s.w

es sollte so aussehen:


LOCAL #Zucker #DIM #Salz #DIM# Wein #DIM #Essig #DIM
01.02.2006 01:00 #20 # kg #15 #kg # 5 # l #25 # l
01.02.2006 02:00 #28 # kg #17 #kg # 45 #l # 5 # l
u.s.w.

# - Feldtrennung

Wie kann ich das mit SQL bekommen?

Danke!
 

Morlon

Member
Hi,

ich glaub, wenn ich dich richtig verstanden habe, dann bekommst du das mit SQL nicht hin.

Am einfachsten wäre ein Reportgenerator wie z.B. Cognos für sowas zu gebrauchen, k.A. welche kostenfreien Tools es dafür unter Linux gibt.

MfG
 
OP
K

klin

Newbie
Lösung gefunden!

SELECT table.local,
MAX(DECODE(table.name,'Zucker',table.Value,0)) ZUCKER,
MAX(DECODE(table.name,'Zucker',table.Dim,0)) DIM,
MAX(DECODE(table.name,'Salz',table.Value,0)) SALZ,
MAX(DECODE(table.name,'Salz',table.Dim,0)) DIM,
MAX(DECODE(table.name,'Wein',table.Value,0)) WEIN,
MAX(DECODE(table.name,'Wein',table.Dim,0)) DIM,
MAX(DECODE(table.name,'Essig',table.Value,0)) ESSIG,
MAX(DECODE(table.name,'Essig',table.Dim,0)) DIM
FROM table
GROUP BY table.local

MfG

klin
 
Oben