Unsortiert zurückgeben?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

frage so mein Zeug ab(ORACLE DB): "SELCT ID, Name from Mitarbeiter where ID=2 OR ID=10 OR ID=1"

nun gibt er es so aus:

1, Müler
2, Maier
10, Neumann

will es aber so wie ich es anfrage also:

2, Maier
10, Neumann
1, Müller

Wie mach ich das?

Gruß
 

AlArenal

Top Contributor
Indem du drei einzelne SQL-Anfragen draus machst (was natürlich Schwachsinn ist). Die DB optimiert die Anfragen intern und beim durchsuchen der Spalte aus der WHERE-Clause (der ID), kommt natürlich 1 vor 2 vor 10.

BTW will mir partout nicht einfallen in welchem Fall deine Anforderung sinnvoll wäre. Klär uns doch mal bitte auf.
 

Bleiglanz

Gesperrter Benutzer
SELECT

(CASE id
WHEN 2 THEN 1
WHEN 10 THEN 2
WHEN 1 THEN 3
ELSE 100
END CASE), id, name ...

order by 1
 

robertpic71

Bekanntes Mitglied
AlArenal hat gesagt.:
Das fällt wohl unter "SQL-Abfragen, die die Welt nicht braucht (brauchen sollte)" ;)

Einen hab ich noch:
Code:
SELCT ID, Name from Mitarbeiter where ID=2 
 UNION ALL SELECT ID, Name from Mitarbeiter where ID=10 
 UNION ALL SELECT ID, Name from Mitarbeiter where ID=1


Und - ich nehm das gelbe Schweinderl. :wink:
 

Bleiglanz

Gesperrter Benutzer
könnte auch noch
Code:
// ACHTUNG: TRICK! 
sql = "SELECT (ID*ID-4*ID+4), ID, Name from Mitarbeiter where ID=2 OR ID=10 OR ID=1 ORDER BY 1"
anbieten
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben