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:
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
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
Und die Zahlen sind rechts entsprechend falsch.
Sieht grad jemand, wo es hakt? Vielen Dank für jeden Input.
Gruss
FG
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 |
Firma1 | 1 | center1 | 12 | 33 | 1 |
Firma1 | 2 | center2 | 4 | 7 | 1 |
Firma1 | 2 | center2 | 6 | 6 | 2 |
Firma1 | 2 | center2 | 2 | 12 | 3 |
Firma1 | 2 | center2 | 1 | 1 | 4 |
Firma1 | 2 | center2 | 34 | 54 | 5 |
Firma1 | 2 | center2 | 12 | 16 | 6 |
Firma1 | 2 | center2 | 16 | 33 | 7 |
Firma1 | 2 | center2 | 24 | 48 | 8 |
Firma1 | 2 | center2 | 2 | 3 | 9 |
Firma1 | 2 | center2 | 1 | 1 | 10 |
Firma1 | 2 | center2 | 6 | 9 | 11 |
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
Links | Rechts |
1 | 1 |
2 | 1 |
3 | 1 |
4 | 1 |
5 | 1 |
6 | 1 |
7 | 1 |
8 | 1 |
9 | 1 |
10 | 1 |
11 | 1 |
12 | 1 |
1 | 2 |
2 | 2 |
3 | 2 |
4 | 2 |
5 | 2 |
6 | 2 |
7 | 2 |
8 | 2 |
9 | 2 |
10 | 2 |
11 | 2 |
12 | 2 |
Und die Zahlen sind rechts entsprechend falsch.
Sieht grad jemand, wo es hakt? Vielen Dank für jeden Input.
Gruss
FG