Mehrere Zeilen wenn Subquery als Ausdruck

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

Responses

Browse pgsql-de-allgemein by date

  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 ==