select A.ID, B.ID, B.ARTIKELNAME, SUM(B.GESAMTPREIS) from TABELLE_X A join TABELLE_Y B on A.ID=B.X_ID group by B.X_ID;
Was ist mit B.ARTIKELNAME und A.ID? stehen beide nicht im group by, bzw haben keine Aggregat-Funktion.
Probier mal:
select B.ID, MAX(B.ARTIKELNAME), SUM(B.GESAMTPREIS) from TABELLE_X A join TABELLE_Y B on A.ID=B.X_ID group by B.X_ID;
Wenn B.ID angezeigt wird, brauchst du A.ID nicht wirklich, oder? Ob deine
DB ein Max auf einen String verarbeitet, kann ich dir nicht sagen. Notfalls musst du das für einen Test mal ganz rausschmeißen.