Count in MXN Beziehung

Hallo Leute,

Also ich habe 3 Tabellen IDX_ARTICLETAG , IDX_SPMARTICLE und IDX_SPMARTICLE_ARTICLETAG

Als ausgabe brauche ich daten von Articletag und daneben Produktanzahl( also SPMArticle Anzahl)

Ich habe Folgendes geschrieben und liefert FAST richtiges ergebniss
[SQL]
select IDX_ARTICLETAG.name, IDX_ARTICLETAG.id , tmp.Products
from (select IDX_SPMARTICLE.id ,count(*) as Products
from IDX_SPMARTICLE, IDX_SPMARTICLE_ARTICLETAG
where IDX_SPMARTICLE.id = IDX_SPMARTICLE_ARTICLETAG.spmarticle_id
group by IDX_SPMARTICLE.id) tmp , IDX_ARTICLETAG
where tmp.id = IDX_ARTICLETAG.id

[/SQL]

einerseits Falsche ist dass statt Articletag.id wird SPMArticle.id aufgelistet
andererseits mochte ich dass alle Articletags aufgelistet wird und falls es mit keinem SPMArticle verknüpft ist, soll unter Products 0 schreiben. Es ist mir schon klar dass das durch letzte Zeile [SQL]where tmp.id = IDX_ARTICLETAG.id[/SQL] verursacht wird, aber wenn ich diese Zeile Lösche , wird sogar Articletags aufgelistet die deleted sind und unterProducts steht überall 1-er

ist von mir geschriebene SQL Query zu komplieziert geschrieben? was soll ich nachschauen damit ich gewünschte Ergebnis bekomme?

Auf eure Antwort wurde ich mich sehr freuen
ANNI

warum gruppierst und selektierst du denn überhaupt IDX_SPMARTICLE.id ?

mache als erstes eine Query allein auf IDX_SPMARTICLE_ARTICLETAG, gruppiere nach Tag-Id oder was auch immer,
sollte die richtigen Anzahlen (> 0) für alle Tags mit Artikeln liefern,

danach Verknüpfung mit der Tag-Tabelle, damit nun auch den Namen des Tags dazu, nicht nur die Id

dritter Schritt ist von Tag aus ein LEFT JOIN statt eines normalen Joins, damit auch Tags ohne Einträge ausgegeben werden,
LEFT JOIN bekannt?, kann man zunächst nachschlagen

es sollte hier bisher immer eine normale Query reichen, keine Unterquery mit Klammern nötig

danke @SlaterB . Danke für deine Antwort. Ja LEFT JOIN ist mir bekannt. Ich habe nur eine Ewigkeit in SQL nichts gemacht. Danke nochmals und werde ich deine Schritte vorgehen