@cal
@MrFloppy
1. am besten du machst dir eine view, die den maschinen-typ und die anzahl liefert.
Code:
create or replace view maschinen_v (typ, anzahl)
as select typ,
count(typ)
from maschinen
group by typ;
2. du joinst diese view mit der mitarbeiter-tabelle und versiehst das ganze mit einer gruppenfunktion - weiters mußt du einschränken, dass die anzahl der maschinen nicht der anzahl der dafür ausgebildeten mitarbeiter entsprechen darf (sub-select) - es sollte so ungefähr gehen:
Code:
select m.typ,
m.anzahl
count(a.svnr)
from maschinen_v m,
mitarbeiter a
where m.typ = a.ausbild_typ
and m.anzahl != (select count(a2.svnr)
from mitarbeiter a2
where m.typ = a2.ausbild_typ)
group by m.maschinentyp, m.anzahl;
wichtig ist noch, die table-aliases nicht zu vergessen / verwechseln! möglicherweise könnte man das select der view und die weitere abfrage auch noch miteinander kombinieren, aber ich glaub, dass das nicht so performant ist und außerdem komm ich jetzt nicht drauf wie
hoffe es hilft ...