![]() |
Brauche SQL-Profi wegen einer Abfrage...
Hallo !
Ich habe folges problem Die Tabelle lftndr : Name : provision : netto : monat --------------------------------------------- 1. : hans : 50 : 100 : 01 2. : tom : 20 : 200 : 01 3. : klaus : 10 : 20 : 01 4. : hans : 150 : 30 : 01 5. : hans : 20 : 10 : 01 6. : klaus : 50 : 140 : 02 7. : tom : 55 : 10 : 02 8. : hans : 25 : 10 : 02 9. : tom : 10 : 100 : 02 etwas verschoben hier, aber ich hoffe man erkennt was gemeint ist. ich will eine SQL-Abfrage machen in der die einzelnen namen aufgelistet werden und mir zusammengerechnet wird wieviel provision klaus,hans und tom im monat 01 hatten. dabei soll jeder der namen nur ein mal auf der liste auftauschen, (hätte ich jetzt mit select distinct gemacht) aber ich brauche trotzdem die gesamtprovision von z.B. tom im hans 02. Die endtabelle müsste dan für monat 01 so aussehen: Name : provision : netto : Gesamt Hans 220 : 140 : 360 Klaus 10 : 20 : 30 Tom 20 : 200 : 220 Mein problem ist jetzt der hans. er hat im monat 01 3 mal provision kassiert, darf aber in der endabrechnung nur 1 mal auftauchen und alle 3 datensätze von ihm werden aber addiert. Ich hoffe mir kann jemand helfen, ich komm da net weiter. |
Re: Brauche SQL-Profi wegen einer Abfrage...
Code:
Gruß
[b]SELECT[/b] name
, [b]sum[/b](provision) AS ProviSumme , [b]sum[/b](netto) AS NettoSumme , [b]count[/b](name) AS AnzahlZahlungen , monat [b]FROM[/b] lftndr [b]GROUP BY[/b] name,monat |
Re: Brauche SQL-Profi wegen einer Abfrage...
Es müsste so aussehen wenn Du nur einen Monat haben möchtest:
SQL-Code:
select Name,
sum(provision) as Provision, sum(netto) as Netto, sum(provision+Netto) as Gesamt from provision group by monat,name having monat = 1 |
Re: Brauche SQL-Profi wegen einer Abfrage...
Oh... Ah... es lebt. es bewegt sich. jetzt muss nur noch ein join mit rein weil das ja alles nur ein vereinfachtes bespiel war.
Die Realität ist viel härter. :? Das ganze Geschoss geht über 3 Tabellen. Aber das Prinzip ist klar. Danke euch erstmal. |
Re: Brauche SQL-Profi wegen einer Abfrage...
nein, doch nicht so klar. Ich brauch noch etwas hilfe.
die tabelle ändert sich etwas. und zwar um 1 feld. Das Feld "ART". dork kann entweder KASKO oder SCHUTZBRIEF drinstehen. lftndr:Name:provision:monat:art --------------------------------------------- 1. : hans : 50 : 01 :kasko 2. : tom : 20 : 01 :kasko 3. : klaus : 10 : 01 :Schutzbrief 4. : hans : 150 : 01 :kasko 5. : hans : 20 : 01 :schutzbrief 6. : klaus : 50 : 02:kasko 7. : tom : 55 : 02 :schutzbrief 8. : hans : 25 : 02 :kasko 9. : tom : 10 : 02 :schutzbrief ok ,jetzt soll als ergebniss wie bereits oben angesprochen jeder name nur EINMAL in der endliste auftauchen, die endliste sollte dieses format haben lfdnr: name : provision KASKO : Provision SCHUTZBRIEF : Gesamt 1 hans : 225 : 20 : 245 2 tom : 20 : 65 : 85 3 klaus: 50 : 10 : 60 wobei ich festlegen möchte für welchen monat das ganze gelten soll. hier wäre es jetzt für monat 01 & 02. ziemlich verzwickte sache. Ich hab schon in büchern und tutorials gekämpft, aber das ist mir fast zu knifflig. kann mir jemand helfen bei dieser geschichte ? |
Re: Brauche SQL-Profi wegen einer Abfrage...
Hallo,
was du da vor hast geht nicht in einem Ruck. Du kannst in SQL keine Zeileninformationen in Spalten wiedergeben. Je nach DBS kannst du aber noch eventuell Stored Procedures in Erwägung ziehen. Gruß, |
Re: Brauche SQL-Profi wegen einer Abfrage...
Wieso nicht: Müsste doch mit
select Name, sum(if(Art='KASKO', Provision, 0)) as KaskoProv, sum(if(Art='SCHUTZBRIEF', Provision, 0)) as SchutzProv from provision where (monat >= :MonatVon) and (Monat <= :MonatBis) group by monat,name funktionieren (ungetestet, aber ähnliches Problem hab ich so schonmal gelöst) |
Re: Brauche SQL-Profi wegen einer Abfrage...
Zitat:
|
Re: Brauche SQL-Profi wegen einer Abfrage...
nein, if geht nicht. ok, eigentlich muss es nicht unbedingt alles in einer query sein, aber ich muss einen quickreport machen der halt am ende so aussieht wie beschrieben und da wäre alles in einer einzigen query natürlich das günstigste.
Ist e smöglich aus mehreren querys einen quickreport zusammenzuflicken ? oder ist davon abzuraten ? danke euch trotzdem für eure tips. |
Re: Brauche SQL-Profi wegen einer Abfrage...
Damit wären wir (wiedermal) bei der Frage nach der verwendeten Datenbank angelangt: Welche Datenbank verwendest Du?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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