Einzelnen Beitrag anzeigen
Alt 03.07.2002, 14:00   #3
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

@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 ...
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten