So wählen Sie mysql-Zeilen in der Reihenfolge der IN-Klausel aus

7

Zum Beispiel habe ich in der Tabelle MITARBEITER:

%Vor%

Wenn Sie: (wählen Sie * von EMPLOYEE) erhalten Sie:

%Vor%

wenn Sie: (wählen Sie * aus EMPLOYEE, wo Code in (1,3,2,4) erhalten Sie:

%Vor%

Wie bekommt man es in der Reihenfolge der CSV-Werte in der IN-Klausel, wie?

%Vor%     
CRISHK Corporation 13.02.2011, 20:38
quelle

2 Antworten

18

Verwenden Sie die Funktion FIND_IN_SET :

%Vor%

Oder verwenden Sie eine CASE-Anweisung:

%Vor%     
OMG Ponies 13.02.2011, 20:40
quelle
1

Die allgemeine Lösung für dieses Problem, bei der die Reihenfolge basierend auf Ihrer Eingabe (CSV) -Datei beibehalten wird, besteht darin, eine AUTO_INCREMENT -Spalte zu Ihrer Tabelle und der darauf basierenden Reihenfolge hinzuzufügen. Sie werden es wahrscheinlich nicht als Teil Ihrer Abfrage anzeigen, aber Sie können danach bestellen, um die ursprüngliche Reihenfolge in Ihrer Eingabedatei nach dem Import zu erhalten.

    
Michael Goldshteyn 13.02.2011 20:45
quelle

Tags und Links