AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Probleme mit sum function in sql-Statement
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit sum function in sql-Statement

Ein Thema von barnti · begonnen am 10. Aug 2006 · letzter Beitrag vom 10. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2      
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 11:47
Datenbank: Oracle • Version: 9 • Zugriff über: Hibernate
Hallo,

ich habe mal wieder Probleme beim Verständnis einer Datenbankabfrage:

Code:
select
   persacct.code,
   emppersacct.nomDate,
   emppersacct.updTs,
   tcslogin.firstName,
   tcslogin.lastName,
   emppersacct.mi,
   sum(emppersacct.mi)
   
from
   EmpPersAcct emppersacct
   left join emppersacct.tcsLogin tcslogin
   inner join emppersacct.persAcct persacct
   
where
   persacct.code='URLAUB'
   and
   emppersacct.emp.empSk=-979941237706
Frage ich die Summe der Stunden emppersacct.mi mit ab, so bekomme ich eine Fehlermeldung "SQL-Grammar-Exception". Frage ich hingegen nur die Summe ab oder nur die einzelnen Spalten ohne Summe, so funktioniert das Statement.

Ich verstehe nicht warum ich an die normale Tablle mit den aufgeführten Spalten nicht eine weitere hinzufügen kann, in der jeweils die Summenstunden stehen? Kann mich jemand aufklären? Was ist das Problem?
Gruß,

Barnti
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 11:51
von welchem Typ ist emppersacct.mi ?
Markus Kinzler
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 11:53
Hi,
Zitat von mkinzler:
von welchem Typ ist emppersacct.mi ?
BigDecimal
Gruß,

Barnti
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 12:08
Die art der Fehlermeldung irretiert mich etwas. das eine kommt beim genaueren Hinsehen nicht mehr:

da Sum eine Aggregat-Funktion ist bezieht sie sich immer auf eine Gruppe (ohne Gruppierung = all DS). man kann also immer entweder die Einzelwerte oder die Summe erhalten.
Markus Kinzler
  Mit Zitat antworten Zitat
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#5

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 12:15
hi,

du solltest bei dieser Abfrage ein GROUP BY verwenden.

Dies könnte z.b. so aussehen

SQL-Code:
select
   persacct.code,
   emppersacct.nomDate,
   emppersacct.updTs,
   tcslogin.firstName,
   tcslogin.lastName,
   emppersacct.mi,
   sum(emppersacct.mi) as summe
   
from
   EmpPersAcct emppersacct
   left join emppersacct.tcsLogin tcslogin
   inner join emppersacct.persAcct persacct
   
where
   persacct.code='URLAUB'
   and
   emppersacct.emp.empSk=-979941237706

GROUP BY
   persacct.code
versuchs einfach mal. ciao ;O) R.
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 12:17
Hi mkinzler,

das heißt ich muss eine Gruppierung bilden, um beides zu erhalten?
Code:
select
   persacct.code,
   emppersacct.nomDate,
   emppersacct.updTs,
   tcslogin.firstName,
   tcslogin.lastName,
   emppersacct.mi,
   sum(emppersacct.mi)
   
from
   EmpPersAcct emppersacct
   left join emppersacct.tcsLogin tcslogin
   inner join emppersacct.persAcct persacct
   
where
   persacct.code='URLAUB'
   and
   emppersacct.emp.empSk=-979941237706
   
group by
   persacct.code,
   emppersacct.nomDate,
   emppersacct.updTs,
   tcslogin.firstName,
   tcslogin.lastName,
   emppersacct.mi
Gruppiere ich es so, bekomme ich nur die Summe der jeweiligen Gruppe. Lasse ich emppersacct.mi im Group by weg, bekomme ich wieder die gleiche Exception.

Was mache ich noch falsch? Wie gruppiere ich richtig, um das gewünschte Ergebnis zu erhalten?
Gruß,

Barnti
  Mit Zitat antworten Zitat
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#7

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 12:22
Mir fällt grade auf das Du das empersacct hier doppelt hast

SQL-Code:
from
   EmpPersAcct emppersacct
Hat das einen bestimmten Sinn?
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#8

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 12:25
Zitat von barnti:
Gruppiere ich es so, bekomme ich nur die Summe der jeweiligen Gruppe.
klahr, das ist der Sinn erd group by clause

Zitat von barnti:
Wie gruppiere ich richtig, um das gewünschte Ergebnis zu erhalten?
hmm, ich dachte bisher, das sei das gewünschte Ergebnis. Wie soll das Ergebnis denn aussehen?

Gruß

onlinekater
Thomas Breitkreuz
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#9

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 12:27
Zitat von polondo:
Mir fällt grade auf das Du das empersacct hier doppelt hast

SQL-Code:
from
   EmpPersAcct emppersacct
Hat das einen bestimmten Sinn?
Das ist das Aliasing in SQL

Gruß

onlinekater
Thomas Breitkreuz
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Probleme mit sum function in sql-Statement

  Alt 10. Aug 2006, 12:40
Hi onlinekater,
Zitat von onlinekater:
Wie soll das Ergebnis denn aussehen?
ich möchte die im Select aufgeführten Spalten + die Summe über die Spalte emppersacct.mi
Gruß,

Barnti
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:53 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