Ich habe eine Abfrage wie:Kundenspezifischer Auftrag mit mehreren Spalten
SELECT *
FROM table1
WHERE (table1.first_key, table1.second_key) IN ((2, 1), (1, 1), (2, 2));
Ich möchte das Ergebnis es die Ordnung des IN (....) Inhalt haben.
Wenn es nur eine Spalte, war ich genutzt haben könnte:
ORDER BY FIELD(table1.first_key, 1, 5, 4, 7)
ich nicht herausfinden, wie das gleiche Ergebnis haben, mit mehreren Spalten in einer guten Art und Weise MySQL.
Hier ist mein Bestes versuchen, so weit, es funktioniert, aber auf riesigen Tisch langsam sein:
SELECT CONCAT(first_key, "_", second_key) AS string_hack, first_key, second_key,....
FROM table1
WHERE (first_key, second_key) IN ((2, 1), (1, 1), (2, 2))
ORDER BY FIELD(string_hack, "2_1", "1_1", "2_2")
Das funktioniert, aber es stinkt.
Es muss einen besseren Weg geben
Interessanter Ansatz. –