Antworten auf deine Fragen:
Neues Thema erstellen

[MySQL] JOIN + Count und 0 werte anzeigen

CrawlerSkiline

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:

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:

Duddle

Posting-Frequenz: 14µHz

AW: [MySQL] JOIN + Count und 0 werte anzeigen

Du musst das was du dort selektiert hast nochmal per LEFT JOIN mit der Software-Tabelle vereinen. Vorher (in deinem derzeitigen SELECT) sind normale JOINS ausreichend.
Code:
SELECT sw.Hersteller, sw.Software, IFNULL(t.haeufigkeit,0)
FROM Software sw
LEFT JOIN (
    SELECT  Software.id swid, count(APSSoft.id-soft) AS haeufigkeit
    FROM APSSoft
    JOIN software ON software.id = apssoft.id-soft
    JOIN aps on apssoft.id-aps = aps.id
    JOIN bereiche on bereiche.id = aps.bereich 
    WHERE bereiche.id = 4
    GROUP BY software.hersteller, software.bezeichnung
) t
ON sw.id = t.swid
Ich habe hier nur ein paar Aliase eingeführt und direkt IFNULL angewandt, ansonsten die Abfrage aber kaum angefasst. Das sollte soweit funktionieren; mglw. musst du noch das GROUP BY rausziehen.


Duddle
 

CrawlerSkiline

Nicht mehr ganz neu hier

AW: [MySQL] JOIN + Count und 0 werte anzeigen

Perfekt! Funktioniert. Interessant so einen Join aufzubauen. Wusste bisher nicht das das geht. Ebenso die IFNULL(wasauchimmer,0) sehr interessant.

Danke für diese Wissens Erweiterung und die Hilfe!! :)
 

rafoldi

Aktives Mitglied

AW: [MySQL] JOIN + Count und 0 werte anzeigen

Perfekt! Funktioniert. Interessant so einen Join aufzubauen. Wusste bisher nicht das das geht. Ebenso die IFNULL(wasauchimmer,0) sehr interessant.

Danke für diese Wissens Erweiterung und die Hilfe!! :)

ja ja die NULL Werte. Die Funktion ist auch in andren SQL Servern vorhanden, heisst dort dann iSnull.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.471
Mitglieder
67.558
Neuestes Mitglied
StarsMan
Oben