AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Brauche SQL-Profi wegen einer Abfrage...
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche SQL-Profi wegen einer Abfrage...

Offene Frage von "Killerloop"
Ein Thema von Killerloop · begonnen am 26. Aug 2004 · letzter Beitrag vom 30. Aug 2004
Antwort Antwort
Seite 1 von 3  1 23      
Killerloop

Registriert seit: 16. Mai 2004
44 Beiträge
 
#1

Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 14:35
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.
the meaning of life is to become a legend...
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#2

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 14:40
Code:
  [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
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 14:44
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
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Killerloop

Registriert seit: 16. Mai 2004
44 Beiträge
 
#4

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 15:06
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.
the meaning of life is to become a legend...
  Mit Zitat antworten Zitat
Killerloop

Registriert seit: 16. Mai 2004
44 Beiträge
 
#5

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 16:03
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 ?
the meaning of life is to become a legend...
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 16:14
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ß,
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 16:28
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)
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 17:11
Zitat von angos:
Wieso nicht:
Stimmt, so könnts klappen, falls denn der if-Konstrukt von der Datenbank unterstützt wird.
  Mit Zitat antworten Zitat
Killerloop

Registriert seit: 16. Mai 2004
44 Beiträge
 
#9

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 17:58
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.
the meaning of life is to become a legend...
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#10

Re: Brauche SQL-Profi wegen einer Abfrage...

  Alt 26. Aug 2004, 19:20
Damit wären wir (wiedermal) bei der Frage nach der verwendeten Datenbank angelangt: Welche Datenbank verwendest Du?
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz