![]() |
Datenbank: MySql • Version: 5 • Zugriff über: Zeos
Sql: Zweimal Gruppieren klappt nicht ?!
SQL-Code:
Das ist meine Anfrage. Möchte zuerst nach Vertrag_id sortieren und anschließen nach geworbener_id und somit sum(preis*anzahl) nochmal aufsummieren.
SELECT geworbener_id, vorname, nachname, sum(preis*anzahl)
FROM sponsoren JOIN vertriebspartner ON (vertriebspartner.vertriebspartner_id = sponsoren.geworbener_id) JOIN auftraege USING (vertriebspartner_id) JOIN bestellte_artikel USING (vertrag_id) GROUP BY vertrag_id, geworbener_id Geht das überhaupt? sum(sum(preis*anzahl)) nimmt er nämlich nicht an... Es kommen am Ende auf jeden Fall zwei oder mehr gleiche geworbene_id-Felder, also danach wird nicht gruppiert... Könnt ihr mir helfen? Danke im Voraus! |
Re: Sql: Zweimal Gruppieren klappt nicht ?!
Hallo sunnyandy,
meinst du das vielleicht so...
SQL-Code:
Gruss
SELECT geworbener_id, vorname, nachname, SUM(summe) summe
FROM (SELECT geworbener_id, vorname, nachname, SUM(preis * anzahl) summe FROM sponsoren JOIN vertriebspartner ON (vertriebspartner.vertriebspartner_id = sponsoren.geworbener_id) JOIN auftraege USING (vertriebspartner_id) JOIN bestellte_artikel USING (vertrag_id) GROUP BY vertrag_id, geworbener_id, vorname, nachname) x GROUP BY geworbener_id, vorname, nachname Thorsten |
Re: Sql: Zweimal Gruppieren klappt nicht ?!
Jawoll! Genau das habe ich gesucht! :hello:
Danke! Aber wozu ist das x da ? Das habe ich noch nie gesehen... |
Re: Sql: Zweimal Gruppieren klappt nicht ?!
Schön das es dir geholfen hat. Das X ist einfach ein Prefix für die Unterabfrage. Ohne gibt es einen Fehler. Was du da wählst ist völlig egal, ich nehme da immer gern ein X.
Gruss Thorsten |
Re: Sql: Zweimal Gruppieren klappt nicht ?!
Achso ok! Hab ich verstanden :-)
Gruß zurück! Andy |
Re: Sql: Zweimal Gruppieren klappt nicht ?!
Habe noch eine Frage:
Gruppiere die einfache obere Select Anweisung ja nach Vertrag:
SQL-Code:
Wenn es nun zu einigen Vertriebspartnern keinen Vertrag gibt, hilft mir auch kein OUTER JOIN, um sie ebenfalls anzuzeigen, da ich ja nach Vertrag gruppiere. Gibt es da eine Möglichkeit, sie auf einfache Art anzuzeigen?? :bouncing4:
SELECT geworbener_id, vorname, nachname, sum(preis*anzahl)
FROM sponsoren JOIN vertriebspartner ON (vertriebspartner.vertriebspartner_id = sponsoren.geworbener_id) JOIN auftraege USING (vertriebspartner_id) JOIN bestellte_artikel USING (vertrag_id) GROUP BY vertrag_id Mir fällt da notfalls ein, diese Suche mittels UNION mit einer anderen SELECT Anfrage zusammentue, und dort diejenigen ohne Verträge suche... |
Re: Sql: Zweimal Gruppieren klappt nicht ?!
Ich kenne dein Datenbankmodell ja nicht. Aber vielleicht so...
SQL-Code:
Gruss
SELECT geworbener_id, vorname, nachname, SUM(preis*anzahl)
FROM vertriebspartner v LEFT JOIN sponsoren s ON v.vertriebspartner_id = s.geworbener_id LEFT JOIN auftraege a ON v.vertriebspartner_id = a.vertriebspartner_id LEFT JOIN bestellte_artikel b ON a.vertrag_id = b.vertrag_id GROUP BY vertrag_id Thorsten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz