From: | Michael Prochaska <michael(at)prochas(dot)net> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Mehrere Zeilen wenn Subquery als Ausdruck |
Date: | 2008-12-17 21:41:36 |
Message-ID: | 49497210.2060400@prochas.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Hallo,
ich habe folgende Tabellen:
aufträge: id, bezeichnung
auftragpersonal: id, auftragid, personalid, einheiten
abrechnung: id, auftragpersonalid, einheiten, datum
über auftragpersonal wird personal aufträgen zugeteilt und das für x
einheiten.
in der tabelle abrechnung können sich zu einem personal-auftrag mapping
mehrere abrechnungseinträge finden, damit kann eine teilabrechnung für
das personal abgebildet werden. am ende müssen die summe der einheiten
in abrechnung immer gleich der betreffenden einheiten anzahl in
auftragpersonal sein.
Ist es irgendwie möglich sämtliche aufträge für eine bestimmte
personalid herauszusuchen, wo einheiten größer ist als die summe der
teilabrechnungen ist? also wo noch nicht alles abgerechnet ist....
folgendes funktioniert nicht, weil die subquery nicht mehr als eine
zeile haben darf (FEHLER: als Ausdruck verwendete Unteranfrage ergab
mehr als eine Zeile):
select aufträge.id, aufträge.bezeichnung from aufträge inner join
auftragpersonal on aufträge.id=auftragpersonal.auftragid where
personalid=x AND auftragpersonal.einheiten > (select
SUM(abrechnung.einheiten) from abrechnung group by auftragpersonalid);
Gibt es dafür auf Datenbankebene überhaupt eine Lösung?
MfG,
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Tim Landscheidt | 2008-12-17 22:41:59 | Re: Mehrere Zeilen wenn Subquery als Ausdruck |
Previous Message | Thomas Markus | 2008-12-16 16:57:12 | Re: == Wöchentlicher PostgreSQL Newsletter - 14. Dezember 2008 == |