Es handelt sich hier zwar nur indirekt um eine Excel-Frage, sondern eher um eine SQL-Frage, da ich die SQL-Abfragen aber aus Excel heraus durchführe und weiter nutze, probiere es es trotzdem hier. Zudem wurde mir hier netterweise auch schon zu einer anderen SQL-Frage geholfen.
Hintergrund:
Ich erzeuge mit 2 verschiedenen Querys Summen aus zwei verschiedenen Quell-Worksheets, abhängig vom Projekt. Das funktioniert soweit einwandfrei.
Query1: Ergebnis landet auf Worksheet 'TAB1':
SELECT A.[ID_PROJ], SUM(A.[FIN SOC: davon verplant]) AS [Summe FIN SOC: davon verplant]
FROM [PROJ_SOC_DATA$] As A
GROUP BY A.[ID_PROJ] ;
Query2: Ergebnis landet auf Worksheet 'TAB2':
SELECT A.[ID_PROJ], SUM(A.[EVK (50/100%)]) AS [Summe EVK (50/100%)]
FROM [PROJ_PAB_SHOW$] As A
WHERE A.[PAB Status TXT PABOL] 'PAB abgebrochen'
AND A.[S/E] = "S"
AND A.[Kü-/Promo-Nr] ''
GROUP BY A.[ID_PROJ] ;
Beide Ergebnisse führe ich via LEFT JOIN (zwecks Vergleich der Summen je Projekt) in einer dritten Tabelle zusammen:
Query3: Ergebnis landet auf Worksheet 'TAB3':
SELECT A.*,
B.*
FROM [TAB1$] AS B
LEFT JOIN [TAB2$] AS A
ON B.[ID_PROJ] = A.[ID_PROJ]
ORDER BY B.[ID_PROJ] ASC ;
Meine Frage:
Gibt es die Möglichkeit alle 3 Schritte in einer Abfrage auszuführen und falls ja wie müßte die Query aussehen?
Wenn ich gleiche Tabellen (untereinander) zusammenführen will, klappt das über UNION ALL prima, hier will ich aber ein LEFT JOIN
durchführen.
Folgender Versuch bringt mir immer die Meldung: "Syntaxfehler (fehlender Operator) in _ Abfrageausdruck ..."
SELECT A.[ID_PROJ], SUM(A.[FIN SOC: davon verplant]) AS [Summe FIN SOC: davon verplant], C.*
FROM [PROJ_SOC_DATA$] As A
GROUP BY A.[ID_PROJ]
LEFT JOIN (
SELECT B.[ID_PROJ], SUM(B.[EVK (50/100%)]) AS [Summe EVK (50/100%)]
FROM [PROJ_PAB_SHOW$] As B
WHERE B.[PAB Status TXT PABOL] 'PAB abgebrochen'
GROUP BY B.[ID_PROJ]
) AS C
ON A.[ID_PROJ] = C.[ID_PROJ] ;
Ich bedanke mich schon jetzt für jeden konstruktiven Hinweis und wünsche Euch einen schönen Tag.
Zacharias