Thema: Delphi Allg. SQL-Problem

Einzelnen Beitrag anzeigen

wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Allg. SQL-Problem SELECT zum Zweiten

  Alt 30. Jun 2014, 21:30
Hallo,
ich möchte Euch als erstes meine Lösung vorstellen, welche auch gut funktioniert :

************************************************** ********************
SELECT T1.ID1,T1.INDPE,T1.STOCK,T1.DAYS,T1.BALANCE [oder auch T1.*]
FROM MYSQL1 T1
LEFT OUTER JOIN MYSQL1 T2
ON (T1.STOCK = T2.STOCK AND (T1.BALANCE < T2.BALANCE
OR T1.BALANCE = T2.BALANCE AND T1.ID1 < T2.ID1))
WHERE T2.BALANCE IS NULL <-- [AND T1.BALANCE <> 0] kann
angehängt werden und ist dann
um den Faktor 6 schneller !
************************************************** ********************
Leider funkt. auch die Antwort von p80286 nicht! Die IB-Console meckert
beim 2. SELECT nach der 1. Klammer Error-Code -104


AUCH das angepasste SQL-Statement des Artikels:
http://www.sql-und-xml.de/sql-praxis...zelzeilen.html
funkt. nicht !
************************************************** ********************
SELECT A.*
FROM MySQL1 A INNER JOIN
(SELECT B.STOCK, Max(B.BALANCE) As MaxBalance
FROM MySQL1 B
GROUP BY B.STOCK) C
ON A.STOCK = C.STOCK And
A.BALANCE = C.MaxBalance

Auch hier meckert die IB-Console ErrorCode -104 (3.Zeile - 2. SELECT) !
Wenn ich jedoch nur : (SELECT B.STOCK, Max(B.BALANCE) As MaxBalance
FROM MySQL1 B
GROUP BY B.STOCK) eingebe läuft alles wunderbar, allerdings ohne die restl.
Felder, die ich benötige !

Es muss also an der Aggregatfunkt. 'GROUP BY' liegen.
Wer hat eine Antwort darauf ?

Wendelin
Wolfgang
  Mit Zitat antworten Zitat