Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-de-allgemein by date

Next:From: Tim LandscheidtDate: 2008-12-17 22:41:59
Subject: Re: Mehrere Zeilen wenn Subquery als Ausdruck
Previous:From: Thomas MarkusDate: 2008-12-16 16:57:12
Subject: Re: == Wöchentlicher PostgreSQL Newsletter - 14. Dezember 2008 ==

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group