![]() |
Datenbank: Paradox • Zugriff über: BDE
SQL Max-Abfrage Feld nicht gefunden
Hallo,
wie komme ich nach dieser Abfrage
Delphi-Quellcode:
an die TrZeitTime ? Es kommt der Fehler Feld TrZeitTime nicht gefunden. Wenn ich TrZeitTime zusätzlich hinzufüge werden natürlich alle Personen mehrfach angezeigt.
select TrZeitPerIndex, max(TrZeitTime) from TableName where TrZeitAufIndex>0 group by TrZeitPerIndex
Gruß Oldie |
Re: SQL Max-Abfrage Feld nicht gefunden
Probiers mal so:
SQL-Code:
select TrZeitPerIndex, max(TrZeitTime) from TableName group by TrZeitPerIndex having TrZeitAufIndex>0
|
Re: SQL Max-Abfrage Feld nicht gefunden
Moin,
durch die Aggregatfunktion erhält das Feld einen internen Namen. Du kannst es über seinen Feldindex ansprechen oder einen Aliasnamen vergeben:
SQL-Code:
Frohe Ostern
SELECT TrZeitPerIndex, MAX(TrZeitTime) AS TrZeitTime
FROM TableName WHEREe TrZeitAufIndex > 0 GROUP BY TrZeitPerIndex |
Re: SQL Max-Abfrage Feld nicht gefunden
@Bernhard Geyer
hat leider einen Fehler zur Folge. "Capability not supported" @marabu genau so gehts Danke Euch |
Re: SQL Max-Abfrage Feld nicht gefunden
jetzt habe ich noch eine zuätzliche Frage
wie füge ich den Ergebnisdatensätzen weiter Felder hinzu ohne das Ergebis zu verändern? Weitere Felder im Select-Bereich erweitern die Ergebnisliste . |
Re: SQL Max-Abfrage Feld nicht gefunden
Zitat:
|
Re: SQL Max-Abfrage Feld nicht gefunden
Ok etwas genauer
Delphi-Quellcode:
findet pro Person den Datensatz mit der größten Zeit. Das ist OK.
SELECT TrZeitPerIndex, MAX(TrZeitTime) AS TrZeitTime
FROM TableName WHEREe TrZeitAufIndex > 0 GROUP BY TrZeitPerIndex In diesem Datensatz befinden sich noch weitere Felder. Auf diese möchte ich auch zugreifen.
Delphi-Quellcode:
dies hat zur Folge, dass Personen doppelt angezeigt werden.
SELECT TrZeitPerIndex, MAX(TrZeitTime) AS TrZeitTime, Feld1, Feld2,
FROM TableName WHEREe TrZeitAufIndex > 0 GROUP BY TrZeitPerIndex |
Re: SQL Max-Abfrage Feld nicht gefunden
Jetzt verstehe ich deine Frage.
Welches Feld1, Feld2 willst du? (von welchem der zusammengefassten Datensätze?)
SQL-Code:
SELECT
TrZeitPerIndex, MAX(TrZeitTime) AS TrZeitTime, MIN( Feld1), MIN(( Feld2) FROM TableName WHERE TrZeitAufIndex > 0 GROUP BY TrZeitPerIndex; |
Re: SQL Max-Abfrage Feld nicht gefunden
von ursprünglichen Abfrage
Delphi-Quellcode:
SELECT
TrZeitPerIndex, MAX(TrZeitTime) AS TrZeitTime FROM TableName WHERE TrZeitAufIndex > 0 GROUP BY TrZeitPerIndex;
Delphi-Quellcode:
verändert die Anzahl der gefundenen Datensätze
SELECT
TrZeitPerIndex, MAX(TrZeitTime) AS TrZeitTime, MIN( Feld1) AS Feld1, MIN( Feld2) AS Feld2 FROM TableName WHERE TrZeitAufIndex > 0 GROUP BY TrZeitPerIndex; |
Re: SQL Max-Abfrage Feld nicht gefunden
Das dürfte eigentlich nicht die Anzahl der Datensätze verändern, da ja alle mit identischen TrZeitPerIndex zu einem Datensatz verschmolzen wird.
|
Re: SQL Max-Abfrage Feld nicht gefunden
bitte um Entschuldigung, hatte vom Testen hinter "group by" noch Feld1 und Feld2 drin.
Danke für Deine Antworten und schöne Ostern |
Re: SQL Max-Abfrage Feld nicht gefunden
doch noch ein Problem
Delphi-Quellcode:
jetzt wird je Datensatz nicht der zugehörige Wert für Feld1 und Feld2 ausgegeben sondern der kleinste alle Werte vom Personal.
SELECT
TrZeitPerIndex, MAX(TrZeitTime) AS TrZeitTime, MIN( Feld1) as Feld1, MIN(( Feld2) as Feld2 FROM TableName WHERE TrZeitAufIndex > 0 GROUP BY TrZeitPerIndex; Beispiel TrZeitPerIndex ; TrZeitTime ; Feld1 ; Feld2 1 ; 12:00 ; 10 ; 12 1 ; 13:00 ; 20 ; 11 1 ; 15:00 ; 15 ; 34 Ergebnis 1 ; 15:00 ; 10 ; 11 richtig wäre 1 ; 15:00 ; 15 ; 34 hat noch jemand einen Vorschlag? |
Re: SQL Max-Abfrage Feld nicht gefunden
Wenn ich das richtig verstanden habe, suchst Du das hier:
![]() |
Re: SQL Max-Abfrage Feld nicht gefunden
Hi DeddyH,
genau das war es. Jetzt bekomme ich das richtige Ergebnis. Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 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