AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Allg. SQL-Problem

Offene Frage von "mkinzler"
Ein Thema von wendelin · begonnen am 6. Mai 2014 · letzter Beitrag vom 1. Jul 2014
Antwort Antwort
wendelin

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

AW: Allg. SQL-Problem

  Alt 13. Mai 2014, 10:36
Hallo p80286,

zunächst einmal DANKE für Deine Antwort.
Leider funktioniert auch Deine Version (mit der IBConsole) nicht !

Die '528' bei ADDIDAS kommen daher, das ich für JEDE Aktie das höchste Ergebnis haben möchte,
siehe example_3. Ferner sollte nicht nur der Aktiename (dieser ist obligatorisch) sondern auch
INDPE (Periode des entsprechenden techn. Indikators) auf welchen MAX(Balance) zeigt. Siehe
example2 !

Gruß ,
Wendelin
Wolfgang
  Mit Zitat antworten Zitat
wendelin

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

AW: Allg. SQL-Problem SELECT zum Zweiten

  Alt 30. Jun 2014, 20: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
mkinzler
(Moderator)

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

AW: Allg. SQL-Problem

  Alt 30. Jun 2014, 20:44
Es liegt nicht daran, sondern einfach an der Tatsache, dass IB6 keine DERIVED Tables kann. dieses Feature wurde in erst FireBird 2 eingeführt. Ich würde Dir raten, FireBird einzusetzen.
Markus Kinzler
  Mit Zitat antworten Zitat
wendelin

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

AW: Allg. SQL-Problem

  Alt 1. Jul 2014, 11:24
Sehr geehrter Herr Kinzler,

Vielen Dank für Ihre schnelle Antwort.

Ich habe erstmal im Internet recherchieren müssen, da mir der Begriff 'DERIVED Tables'
nicht bekannt war.
(Schließlich bin ich nur Hobby-Programmierer und hatte beruflich niemals etwas mit
EDV bzw. IT zu tun).
Daher bitte ich auch meine manchmal etwas niveaulosen Fragen zu entschuldigen.

Ich nehme an, daß Sie mit Ihrer Antwort richtig liegen.

Nun habe ich noch eine Frage.
Wenn ich mich für FirebirdXX entscheiden würde, aber Delphi 7 mit seinen IBX-Komponenten
unbedingt behalten möchte

a) Welche Firebird - Version würden Sie mir empfehlen bezügl. Stabilität und Performance?
b) Läuft diese FB-Vers. auch unter WIN XP / WIN 7 ?

m.f.G. Wolfgang
Wolfgang
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Allg. SQL-Problem

  Alt 1. Jul 2014, 11:30
Zitat:
Nun habe ich noch eine Frage.
Wenn ich mich für FirebirdXX entscheiden würde, aber Delphi 7 mit seinen IBX-Komponenten
unbedingt behalten möchte
Die Grundsätzlichen Funktionen sollten kein Problem darstellen
Zitat:
a) Welche Firebird - Version würden Sie mir empfehlen bezügl. Stabilität und Performance?
Grundsätzlich immer die neueste, aktuell 2.5x
Zitat:
b) Läuft diese FB-Vers. auch unter WIN XP / WIN 7 ?
Ja. Obwohl ich von XP weggehen würde (aus anderen Gründen)
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:17 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