Nicht mehr ganz neu hier
[MySQL] JOIN + Count und 0 werte anzeigen [erledigt]
Hi alle zusammen,
hoffe ihr könnt mir bei meinem Problem helfen, falls es eine Lösung dafür gibt.
Vorerst ich habe folgende 4 Tabellen (etwas abgespeckt für die erleuterung):
Arbeitsplatzsysteme - APS
ID - Computername - MAC - Bereich-ID
1 - test 1 - / - 4
2 - test 2 - / - 2
3 - test 3 - / - 7
Bereiche
ID - Bereiche
1 - Einkauf
2 - Verkauf
3 - Werkstatt
4 - Druckerei
5 - Fotografie
6 - Kommunikationsservice
7 - Dienstleistungen
Software
ID - Hersteller - Software
1 - Canon - Scansoftware
2 - Adobe - Photoshop
3 - Adobe - Flashplayer
4 - Microsoft - Silverlight
5 - Microsoft - Office 2010
APSSoft
ID-APS - ID-SOFT
1 - 2
1 - 3
1 - 5
2 - 1
2 - 4
3 - 2
3 - 4
Die Tabelle APSSoft dient dazu mehrere Softwares an einen Arbeitsplatz binden zu können.
Ich möchte nun per SQL-Query erreichen das ich angezeigt bekomme welche Software in einem spezifischen Bereich wie oft eingesetzt wird.
Dies habe ich mit vielen Querys erreicht, unter anderem auch mit folgender:
Leider zeigt er mir aber nur die Software an die in diesem Bereich auch vorkommt. Sprich z.B. Photoshop kommt im Bereich "Druckerei" einmal vor und wird auch dementsprechend angezeigt. Microsoft Silverlight ist in der Druckerei aber überhaupt nicht vorhanden und wird dementsprechend nicht dargestellt.
Ich würde aber gerne erreichen das jede Software dargestellt wird und die die nicht vorkommen einfach mit 0 dargestellt werden.
Ist dies irgendwie möglich? Hat wer eine Idee?
Ich hoffe ich konnte mein Problem einigermaßen verständlich erläutern
Vielen Dank schon mal für jede Idee! & Liebe Grüße,
Crawler
Hi alle zusammen,
hoffe ihr könnt mir bei meinem Problem helfen, falls es eine Lösung dafür gibt.
Vorerst ich habe folgende 4 Tabellen (etwas abgespeckt für die erleuterung):
Arbeitsplatzsysteme - APS
ID - Computername - MAC - Bereich-ID
1 - test 1 - / - 4
2 - test 2 - / - 2
3 - test 3 - / - 7
Bereiche
ID - Bereiche
1 - Einkauf
2 - Verkauf
3 - Werkstatt
4 - Druckerei
5 - Fotografie
6 - Kommunikationsservice
7 - Dienstleistungen
Software
ID - Hersteller - Software
1 - Canon - Scansoftware
2 - Adobe - Photoshop
3 - Adobe - Flashplayer
4 - Microsoft - Silverlight
5 - Microsoft - Office 2010
APSSoft
ID-APS - ID-SOFT
1 - 2
1 - 3
1 - 5
2 - 1
2 - 4
3 - 2
3 - 4
Die Tabelle APSSoft dient dazu mehrere Softwares an einen Arbeitsplatz binden zu können.
Ich möchte nun per SQL-Query erreichen das ich angezeigt bekomme welche Software in einem spezifischen Bereich wie oft eingesetzt wird.
Dies habe ich mit vielen Querys erreicht, unter anderem auch mit folgender:
Code:
SELECT Software.hersteller, Software.software, count(APSSoft.id-soft) AS haeufigkeit
FROM APSSoft
LEFT JOIN software ON software.id = apssoft.id-soft
LEFT JOIN aps on apssoft.id-aps = aps.id
LEFT JOIN bereiche on bereiche.id = aps.bereich
WHERE bereiche.id = 4
GROUP BY software.hersteller, software.bezeichnung
Leider zeigt er mir aber nur die Software an die in diesem Bereich auch vorkommt. Sprich z.B. Photoshop kommt im Bereich "Druckerei" einmal vor und wird auch dementsprechend angezeigt. Microsoft Silverlight ist in der Druckerei aber überhaupt nicht vorhanden und wird dementsprechend nicht dargestellt.
Ich würde aber gerne erreichen das jede Software dargestellt wird und die die nicht vorkommen einfach mit 0 dargestellt werden.
Ist dies irgendwie möglich? Hat wer eine Idee?
Ich hoffe ich konnte mein Problem einigermaßen verständlich erläutern
Vielen Dank schon mal für jede Idee! & Liebe Grüße,
Crawler
Zuletzt bearbeitet: