Hast recht, verständlicher ist diese Variante:
PERSONAL_ID | Gesamt_Personal | URLAUB_GENOMMEN |
---|
1 | 5 | 25 |
2 | 4 | 14 |
3 | 3 | 6 |
4 | 6 | 22 |
Also, wozu Count? Ist nur als Info gedacht (ähnlich wie früher RecordCount bei
BDE), um zu zeigen wie viele Datensätze nach der aktuellen Abfrage zu Verfügung stehen.
Gezählt sollen in dem Fall allerdings NUR die Datensätze aus der Personaltabelle (also wie viele Personen gibt es), also in der Spalte: Gesamt_Personal müsste überall eine 4 stehen.
würde ich aus dem Text alles was FEHLTAGE angeht entfernen, zeig er die 4 auch richtig an.
Wie Sir Rufo schon sagte, er zeigt wie oft PERSONAL_ID in Tabelle-FEHLTAGE vorkommt, was ich aber nicht haben möchte.
Beschäftige mich gerade mit Stored Proceduren, um zu sehen, was ich vom Server ausrechnen lassen kann
InterBase meldet sofort einen Fehler:
select
P.PERSONAL_ID,
count(P.PERSONAL_ID) as Gesamt_Personal,
(Select sum(U.FEHLTAGE_ARBEITSTAGE) from FEHLTAGE U where (U.FEHLTAGE_PERSONALID = P.PERSONAL_ID) and (U.FEHLTAGE_ART = 'U')) as URLAUB_GENOMMEN,
from PERSONAL P
Wie ich schon paar Mal gesagt habe, InterBase XE unterschützt leider keine doppelten Selects^^.