Doc_McSky
02.09.2009, 13:17:48
Hallo Leute,
mal wieder eine von den Fragen, wozu ich keine Antwort finde:
Kann ich einem SQL Aufruf vorgeben, das die Ergebnisse in der Reihenfolge, die ICH festlege, zurückgeliefert werden?
Beispiel:
Ich habe eine Liste von ID's. Die zugehörigen Daten will ich in exakt der Reihenfolge zurückgeben, wie die Reihenfolge der ID's in der Liste sind. Wenn ich jetzt stur einen SQL String bastle, dann z.B.:
$sql = "SELECT x, y, z FROM tabelle WHERE id=12 OR id=56 OR id=34 OR id=78";
Dann bekomme ich 4 Ergebnisse zurück, die ohne Sortierangaben in der Reihenfolge zurückgegeben werden, wie sie einmal in der DB gespeichert wurden oder ich gebe eine Sortierung an, klar, aber keine Datensortierung passt hier.
Ich will ja die Ergebnisse in der Reihenfolge Datensatz 12, Datensatz 56, Datensatz 34 und Datensatz 78 haben...
Kann man das der DB sagen, das sie strikt nach der Abfragereihenfolge Ergebnisse liefern soll?
Oder muss ich ein Konstrukt drumherum bauen, welches dann Stück für Stück die ID Liste durchgeht und EINZELN eine DB Abfrage macht?
Wenn das nur mit dem Konstrukt drumherum geht, was nimmt dann mehr Zeit in Anspruch?
EIN Aufruf zur DB alle Daten mit den ID's zurückzugeben (wie auch immer sortiert), oder
DUTZENDE von Einzelaufrufen aus z.B. einer Schleife?
Hoffe mir kann einer helfen, vielen Dank schonmal im Voraus.
Gruß
Doc
mal wieder eine von den Fragen, wozu ich keine Antwort finde:
Kann ich einem SQL Aufruf vorgeben, das die Ergebnisse in der Reihenfolge, die ICH festlege, zurückgeliefert werden?
Beispiel:
Ich habe eine Liste von ID's. Die zugehörigen Daten will ich in exakt der Reihenfolge zurückgeben, wie die Reihenfolge der ID's in der Liste sind. Wenn ich jetzt stur einen SQL String bastle, dann z.B.:
$sql = "SELECT x, y, z FROM tabelle WHERE id=12 OR id=56 OR id=34 OR id=78";
Dann bekomme ich 4 Ergebnisse zurück, die ohne Sortierangaben in der Reihenfolge zurückgegeben werden, wie sie einmal in der DB gespeichert wurden oder ich gebe eine Sortierung an, klar, aber keine Datensortierung passt hier.
Ich will ja die Ergebnisse in der Reihenfolge Datensatz 12, Datensatz 56, Datensatz 34 und Datensatz 78 haben...
Kann man das der DB sagen, das sie strikt nach der Abfragereihenfolge Ergebnisse liefern soll?
Oder muss ich ein Konstrukt drumherum bauen, welches dann Stück für Stück die ID Liste durchgeht und EINZELN eine DB Abfrage macht?
Wenn das nur mit dem Konstrukt drumherum geht, was nimmt dann mehr Zeit in Anspruch?
EIN Aufruf zur DB alle Daten mit den ID's zurückzugeben (wie auch immer sortiert), oder
DUTZENDE von Einzelaufrufen aus z.B. einer Schleife?
Hoffe mir kann einer helfen, vielen Dank schonmal im Voraus.
Gruß
Doc