[MySQL] Mehere Teilabfragen verbinden - Einzeln korrekt, nach joins nicht korrekt

fish-guts

Erfahrenes Mitglied
Hallo Community

Ich habe zur Zeit ein Problem mit einer MySQL Query. Ich möchte Information aus mehreren Tabellen zusammentragen und dann ausgeben. Die Struktur bleibt immer die Gleich.

Ich habe folgende Query:

Code:
SELECT * FROM 

(SELECT 
    FIRMA.NAME AS FIRMA_NAME,
    EINKAUF.CENTER AS CENTER_ID,
    CENTER.NAME AS CENTER_NAME,
    COUNT(EINKAUF.PURCHASE_EINKAUF_ID) AS EK_COUNT,
    SUM(EINKAUF.POSITIONEN) AS EK_ITEM_COUNT,
    MONTH(EINKAUF.DATUM) AS EK_MONTH

    FROM
    EINKAUF
    
    LEFT JOIN CENTER ON EINKAUF.CENTER_ID = CENTER.CENTER_ID
    LEFT JOIN FIRMA ON CENTER.FIRMA_ID = FIRMA.FIRMA_ID
    LEFT JOIN BENUTZER ON FIRMA.FIRMA_ID = BENUTZER.FIRMA_ID
    WHERE BENUTZER.NAME='benutzer1'
    GROUP BY EK_MONTH, CENTER_ID
) AS EKR

LEFT JOIN 

(SELECT 

    ANGEBOT.CENTER_ID AS CENTER_ID,
    CENTER.NAME AS CENTER_NAME,
    COUNT(ANGEBOT.ANGEBOT_ID) AS ANG_COUNT,
    SUM(ANGEBOT.POSITIONEN) AS ANG_ITEM_COUNT,
    MONTH(ANGEBOT.DARUM) AS ANG_MONTH

    FROM ANGEBOT

    LEFT JOIN CENTER ON ANGEBOT.CENTER_ID = CENTER.CENTER_ID
    LEFT JOIN FIRMA ON ANGEBOT.FIRMA_ID = FIRMA.FIRMA_ID
    LEFT JOIN BENUTZER ON FIRMA.FIRMA_ID = BENUTZER.FIRMA_ID

    WHERE BENUTZER._NAME='benutzer1'
    AND MONTH(ANGEBOT.DATUM) IS NOT NULL

    GROUP BY ANG_MONTH, CENTER_ID

) AS RFQ ON EKR.CENTER_ID = ANG.CENTER_ID

Nun zum Problem:

Beide Queries an sich liefern mir einzeln die korrekten Resultate zurück. Korrekt heisst, dass für jedes Center_id und jeden Monat die entsprechenden Zahlen ausgegeben werden sollen.

Beispiel:


Firma1
FIRMA_NAME
CENTER_ID
CENTER_NAME
EK_COUNT
EK_ITEM_COUNT
EK_MONTH
Firma11center112331
Firma12center2471
Firma12center2662
Firma12center22123
Firma12center2114
Firma12center234545
Firma12center212166
Firma12center216337
Firma12center224488
Firma12center2239
Firma12center21110
Firma12center26911


Die Idee ist also, dass ich für jedes Center und Monat den EK_Count und den EK_ITEM_COUNT erhalte.

Wenn ich nun die ganze Query ausführe ist zwar der Linke Teil korrekt, aber der Rechte. Im Rechten erhalte für alle zwölf Monate von Link jeweils den Monat rechts.

Beispiel, vereinfach
LinksRechts
11
21
31
41
51
61
71
81
91
101
111
121
12
22
32
42
52
62
72
82
92
102
112
122


Und die Zahlen sind rechts entsprechend falsch.


Sieht grad jemand, wo es hakt? Vielen Dank für jeden Input.

Gruss

FG
 

Neue Beiträge

Zurück