WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 03.07.2002, 13:17   #1
MrFloppy
Jr. Member
 
Registriert seit: 30.05.2001
Beiträge: 81


Frage SQL Oracle -> Select mit 2 Count s Vergleichen??

Hallo!

Ich häng jetzt schon längere zeit bei einem Select-Problem bei einer Oracle-DB (8.1) fest.

Und zwar sollte die Abfrage mehr oder weniger 2 Counts miteinander vergleichen. Ich habe zu diesem Zweck zwei Views erstellt. Wobei der erste View mir eine Liste von Maschinentypen und deren Maschinennummern erstellt.
Der zweite View liefert mir SozVerNummern von Angestellten, die auf diversen Maschinentypen ausgebildet sind
z.B View 1:
MNr Maschinentyp
--------------------
1 Walze
2 Kran
3 Walze
4 Bohrer
usw..

und View 2:
SVNr ausgebildet auf
------------------------
1329 Walze
1329 Kran
4450 Bohrer
usw..

Und nun zur Abfrage:
Diese sollte jene Maschinentypen ausgeben, von denen es mehr Maschinen gibt als darauf ausgebildete Arbeiter, wobei aber zusätzlich noch die Anzahl der vorhanden Maschinen und die Anzahl der darauf ausgebildeten Arbeiter ausgeben soll

Ergebnis sollte in etwa so aussehen:
MTyp AnzahlMaschinen ausgebildete
--------------------------------------
Kran 4 2
Walze 3 1

Ich hoff mir kann wer helfen, sitze schon mittlerweile 3 Tage daran und finde keine Lösung.
Thx for help!!!!
MrFloppy ist offline   Mit Zitat antworten
Alt 03.07.2002, 13:22   #2
cal
gesperrt
 
Registriert seit: 04.12.2001
Beiträge: 1.327


Standard

importierst nach access und machst die ausgabe dort...
cal ist offline   Mit Zitat antworten
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
Alt 03.07.2002, 14:16   #4
MrFloppy
Jr. Member
 
Registriert seit: 30.05.2001
Beiträge: 81


Daumen hoch THX THX HTX

THX A LOT!!!!
Funktioniert WUNDERBAR, PERFETTAMENTE!
IT´S JUST INCREDIBLE!!!

NOCHMALS DANKE!!!!!
MrFloppy ist offline   Mit Zitat antworten
Alt 03.07.2002, 14:20   #5
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard Re: THX THX HTX

Zitat:
Original geschrieben von MrFloppy
THX A LOT!!!!
Funktioniert WUNDERBAR, PERFETTAMENTE!
IT´S JUST INCREDIBLE!!!

NOCHMALS DANKE!!!!!
gern geschehen ...
____________________________________
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
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:17 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag