Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi order by mit upper (https://www.delphipraxis.net/14861-order-mit-upper.html)

Spurius 16. Jan 2004 22:12


order by mit upper
 
Hallo,
ich will die Éinträge in einer DB mittels
Code:
select * from db order by nachname asc;
sortieren.
Leider werden zuerst die großgeschriebenen Namen sortiert, dann die kleingeschriebenen.
ich habs mit "upper" versucht, aber das geht net.
Gruß
Spurius

Robert_G 17. Jan 2004 00:46

Re: order by mit upper
 
:wiejetzt:


Also wenn du "ORDER BY Upper(NachName)" nimmst, muss es gehen.

Aber erkläre mal genau dein Problem...

Spurius 17. Jan 2004 00:52

Re: order by mit upper
 
Wenn ich upper(nachname) nehme, ist upper unbekannt.
Ich will einfach die Einträge aus der DB nach ihren Namen sortieren.

Robert_G 17. Jan 2004 01:08

Re: order by mit upper
 
Was hast du denn für eine DB?

Spurius 17. Jan 2004 14:21

Re: order by mit upper
 
Paradox 7

blawen 18. Jan 2004 18:23

Re: order by mit upper
 
Zitat:

Zitat von Spurius
Wenn ich upper(nachname) nehme, ist upper unbekannt.
Ich will einfach die Einträge aus der DB nach ihren Namen sortieren.

Nun, in der Tat kann bei "order by" kein upper verwendet werden.

Statt:
Delphi-Quellcode:
select * from db order by nachname asc;
Kannst Du folgendes probieren:

Delphi-Quellcode:
select upper(nachname) as nachname from db order by nachname;
Gruss
Blawen

Robert_G 18. Jan 2004 20:06

Re: order by mit upper
 
Zitat:

Zitat von blawen
Nun, in der Tat kann bei "order by" kein upper verwendet werden

Sorry blawen, aber das stimmt einfach nicht! (jedenfalls nicht in den DBs mit denen ich bis jetzt gearbeitet habe)

und:
SQL-Code:
SELECT upper(nachname) As Nachname
FROM  db
ORDER BY nachname
sortiert nur nach "nachname" nicht nach "upper(nachname)".

Der Ansatz war aber richtig:
Wenn in Paradox wirklich kein upper in der ORDER BY-clause erlaubt ist ( :gruebel: )
dann mach's so:
SQL-Code:
SELECT upper(nachname) As Nachname
FROM  db
ORDER BY 1
Edit: "as vorname" durch "As Nachname" ersetzt

blawen 18. Jan 2004 23:21

Re: order by mit upper
 
Zitat:

Sorry blawen, aber das stimmt einfach nicht! (jedenfalls nicht in den DBs mit denen ich bis jetzt gearbeitet habe)
Bei Paradox DB's kann die Variante
Delphi-Quellcode:
SELECT * As Nachname FROM db ORDER BY Upper(Nachname)  (oder wie auch immer gwünscht)
nicht verwendet werden. (ist zumindest bei D5 Pro so)
(in meinem vorigen Mail, hat sich zwar ein "kleiner" Schreibfehler eingeschlichen...
...natürlich war immer nachname gemeint...)
Zitat:

Wenn in Paradox wirklich kein upper in der ORDER BY-clause erlaubt ist ( :gruebel: )
dann mach's so:
SQL-Code:
SELECT upper(nachname) As Nachname
FROM  db
ORDER BY 1

Dies bewirkt eigentlich dasselbe, oder?

Gruss
Blawen

Robert_G 18. Jan 2004 23:26

Re: order by mit upper
 
ORDER BY 1 heißt: die DB sortiert nach dem Wert , der in der 1. Spalte steht.
(in diesem Fall "upper(Nachname)" )

blawen 18. Jan 2004 23:41

Re: order by mit upper
 
Zitat:

Zitat von GeorgeWNewbie
ORDER BY 1 heißt: die DB sortiert nach dem Wert , der in der 1. Spalte steht.
(in diesem Fall "upper(Nachname)" )

Da die Spaltenreihe ja durchaus (während der Programmierung) geändert werden kann, wäre die Angabe des Spaltennamens sicherer.

Gruss

Blawen


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr.
Seite 1 von 2  1 2      

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