# Unsortiert zurückgeben?



## Guest (19. Jan 2006)

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 (19. Jan 2006)

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 (19. Jan 2006)

SELECT 

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

order by 1


----------



## AlArenal (19. Jan 2006)

Das fällt wohl unter "SQL-Abfragen, die die Welt nicht braucht (brauchen sollte)"


----------



## Bleiglanz (19. Jan 2006)

allerdings, wer sowas schreibt muss 5€ ins Blödkodierer-Schweinderl werfen!


----------



## AlArenal (19. Jan 2006)

Bleiglanz hat gesagt.:
			
		

> allerdings, wer sowas schreibt muss 5€ ins Blödkodierer-Schweinderl werfen!



Mit solchen Witzen musste vorsichtig sein. Das verstehen 3/4 der Leute hier nicht, weils vor ihrer Zeit war..


----------



## robertpic71 (19. Jan 2006)

AlArenal hat gesagt.:
			
		

> Das fällt wohl unter "SQL-Abfragen, die die Welt nicht braucht (brauchen sollte)"



Einen hab ich noch:

```
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 (19. Jan 2006)

könnte auch noch

```
// 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


----------



## AlArenal (19. Jan 2006)

Bleiglanz hat gesagt.:
			
		

> könnte auch noch
> 
> ```
> // ACHTUNG: TRICK!
> ...



Sehr elegant!


----------

