Etwas komplexere MSSQL Count Abfrage

mfgnemesis

Grünschnabel
Hi!

ich habe mehrere verknüpfte Tabellen

in einer werden die Mitarbeiter aufgeführt, in einer anderen die Artikel und in einer weiteren die getätigten Bestellungen

in der Tabelle bestellungen sind jeweils die ID´s der Mitarbeiter, bzw der Artikel hinterlegt.

Nun möchte ich abfragen, wie oft welcher Mitarbeiter einen bestimmten Artikel verkauft hat. Ich möchte in der gleichen Abfrage auch sehen, wenn ein MItarbeiter einen Artikel noch nicht verkauft hat ( count soll mir dann den Wert '0' zurückgeben)

um es nocheinmal zu verdeutlichen, so ein Ergebniss möchte ich haben - er soll mir ALLE Mitarbeiter in der Spalte Mitarbeiter anzeigen und beim Artikel entweder die verkaufte Anzahl eines bestimmten Artikels oder wenn dieser Artikel vom Mitarbeiter noch nicht verkauft wurde, eine '0' anzeigen

"MITARBEITER"_____"ANZAHL ARTIKEL1"
Mitarbeiter1________________1
Mitarbeiter2________________4
Mitarbeiter3________________0 <= Dieser Mitarbeiter samt Null soll mit angezeigt werden
Mitarbeiter4________________2
Mitarbeiter5________________1

Wie kann ich soetwas realisieren? Geht das überhaupt über ein sql-query?
Leider habe ich bei google und co nix passendes gefunden - oder ich war zu blöd zum suchen :rolleyes:
 
Mal so aus dem Bauch raus:

Code:
select ma.name, art.name, count(*) as Anzahl
from artikel as art
left join bestellungen as b on b.artnr = art.artikelnr
join mitarbeiter as ma on b.mitarbeiterid = ma.mitarbeiterid
group by ma.name, art.name
order by ma.name, art.name, Anzahl
 

Neue Beiträge

Zurück