Master1991
Lieutenant
- Registriert
- Okt. 2007
- Beiträge
- 689
Hi,
es geht um die folgende Abfrage
So, das ganze ist eine PostgreSQL Datenbank.
Mein Problem ist nun das in der Songtabelle ein Titel erscheint der in der Aufnahmen Tabelle nicht referenziert wird.
Es exisitert also keine Aufnahme von diesem Song.
Die Abfrage soll nun bewirken das alle Songs die in den letzen 20 Jahren nicht aufgenommen wurden, angezeigt werden. Also auch der Song der nicht weiter referenziert wurde (Da er von 1976 ist) ... (Deshalb auch der left outer join) ... DAs Problem ist das die Abfrage der Having Klausel die "null" Werte rausschmeißt...Wie bekomm ich die Null Werte mit in das Ergebnis?
Was mir dabei grad so auffällt wäre der Song der nicht referenziert wird von 2000 hätte er trotzdem nen null Wert, da er nicht referenziert wird. Soll aber nicht im Ergebnis angezeigt werden.
Hmm, okay was ich dann eigendlich brauche ist ein "Temporärer" Update Befehl der das Jahr aus der Songtabelle dort übernimmt wo kein Song in der Aufnahmen Tabelle referenziert wird.
Ich hoffe die Infos reichen so. Und es kann überhaupt jemand etwas davon verstehen
MfG
es geht um die folgende Abfrage
Code:
create or replace view vGema as
select s.titel as "Songtitel", komponist as "Komponist", sum(preis) from
Song s left outer join Aufnahmen an on (an.song=s.songnr) left outer join Album a on (an.albnr=a.albnr)
group by s.titel, komponist having (extract(year from current_date)-20)>max(an.jahr)
order by s.titel;
So, das ganze ist eine PostgreSQL Datenbank.
Mein Problem ist nun das in der Songtabelle ein Titel erscheint der in der Aufnahmen Tabelle nicht referenziert wird.
Es exisitert also keine Aufnahme von diesem Song.
Die Abfrage soll nun bewirken das alle Songs die in den letzen 20 Jahren nicht aufgenommen wurden, angezeigt werden. Also auch der Song der nicht weiter referenziert wurde (Da er von 1976 ist) ... (Deshalb auch der left outer join) ... DAs Problem ist das die Abfrage der Having Klausel die "null" Werte rausschmeißt...Wie bekomm ich die Null Werte mit in das Ergebnis?
Was mir dabei grad so auffällt wäre der Song der nicht referenziert wird von 2000 hätte er trotzdem nen null Wert, da er nicht referenziert wird. Soll aber nicht im Ergebnis angezeigt werden.
Hmm, okay was ich dann eigendlich brauche ist ein "Temporärer" Update Befehl der das Jahr aus der Songtabelle dort übernimmt wo kein Song in der Aufnahmen Tabelle referenziert wird.
Ich hoffe die Infos reichen so. Und es kann überhaupt jemand etwas davon verstehen
MfG