Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Probleme mit sum function in sql-Statement (https://www.delphipraxis.net/74894-probleme-mit-sum-function-sql-statement.html)

mkinzler 10. Aug 2006 14:07

Re: Probleme mit sum function in sql-Statement
 
Wie gesagt bekommst du das nicht in einer einfachen Abfrage. wäre mit einem join oder ner SP möglich.

barnti 10. Aug 2006 14:15

Re: Probleme mit sum function in sql-Statement
 
Hi,
Zitat:

Zitat von mkinzler
Wie gesagt bekommst du das nicht in einer einfachen Abfrage. wäre mit einem join oder ner SP möglich.

Join? Verstehe ich nicht. Kannst Du das beispielhaft darstellen?

mkinzler 10. Aug 2006 14:19

Re: Probleme mit sum function in sql-Statement
 
du könntest zur jeder Zeile den Summenwert hinzujoinen. Oder 2halt 2 unterschiedliche Abfragen verwenden.

omata 10. Aug 2006 16:22

Re: Probleme mit sum function in sql-Statement
 
Hallo barnti,

deine Abfrage ist mir unverständlich. Das liegt vielleicht an Oracle...

Aber müssen nicht die JOINs mit der Haupttabelle verbunden werden? Und dann die Aliase, mach dir das Leben doch nicht so schwer. Nimm kürze und einfachere, dafür sind sie da.

SQL-Code:
SELECT c.code,
       a.nomDate,
       a.updTs,
       b.firstName,
       b.lastName,
       a.mi,
       SUM(a.mi)
FROM empPersAcct a
LEFT JOIN tcsLogin b
  ON ???
INNER JOIN persAcct c
  ON ???   
WHERE c.code = 'URLAUB'
  AND a.emp.empSk = -979941237706
         ^-- ???
Wie werden die Tabellen miteinander verbunden?

Warscheinlich bin ich nur zu unwissend in Bezug auf Oracle.

Gruss
Thorsten

barnti 10. Aug 2006 22:25

Re: Probleme mit sum function in sql-Statement
 
Hallo Thorsten,

ich frage die Datenbank über Hibernate (HQL) ab. Daher diese Syntax.

Ja, die Aliase sind etwas lang aber bei langen Abfragen wenigstens lesbar. Gibts da nun noch eine Möglichkeit oder muss ich das in mehreren einzelnen Abfragen lösen?

omata 10. Aug 2006 23:05

Re: Probleme mit sum function in sql-Statement
 
Hallo bartni,

ich versuche es einfach nochmal...

SQL-Code:
SELECT
   persacct.code,
   emppersacct.nomDate,
   emppersacct.updTs,
   tcslogin.firstName,
   tcslogin.lastName,
   emppersacct.mi,
   (SELECT SUM(emppersacct.mi)
    FROM EmpPersAcct
    WHERE ???) AS summe
   
FROM
   EmpPersAcct emppersacct
   LEFT JOIN emppersacct.tcsLogin tcslogin
   INNER JOIN emppersacct.persAcct persacct
   
WHERE persacct.code = 'URLAUB'
  AND emppersacct.emp.empSk = -979941237706
???: Hier muss die Verbindung zur aktuellen Zeile in der äußeren EmpPersAcct Tabelle hergestellt werden.

Da ich deine Datenbankbeziehungen nicht kenne, kann ich an der Stelle nicht weiter helfen. Welche Spalte(n) ist/sind den der/die Primarykey(s) in EmpPersAcct?

Eine Alternative wäre noch ein zweiter LEFT JOIN, in dem die Summen gebildet werden. Aber mit deinen komischen JOIN-Strukturen komme ich nicht klar, sorry.

Gruss
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 Uhr.
Seite 2 von 2     12   

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 by Thomas Breitkreuz