ThomasLa: MySQL: Argumente der FIELD()-Funktion: Unterabfragen möglich?

Beitrag lesen

Hallo Vinzenz,

danke, das ist wirklich GENIAL!! :-)

Aber müssen die Argumente von FIELD() tatsächlich immer vorgegebene Konstante sein (außer dem ersten)? Kann man da keine Unterabfrage verwenden? Ich hab's ca. so versucht (um die selbe Reihenfolge zu bekommen, wie in der Hilfstabelle):

  
SELECT FIELD(name, (SELECT name FROM hilfstabelle)) AS test, name FROM haupttabelle ORDER BY test;  

Da kommt aber immer die Fehlermeldung: "Subquery returns more than 1 row" :-(
Mit FIND_IN_SET() hab ich's auch probiert, selbes Resultat. Sind das tatsächlich beides sture String-Funktionen, die keinen "dynamischen" Input akzeptieren?

Gibt's da vielleicht eine andere Lösung? Oder muss ich tatsächlich zuerst die Hilfstabelle abfragen und mir aus dem Ergebnis in PHP eine Komma-getrennte Liste basteln, mit der ich dann die FIELD()-Funktion füttern kann?

Danke!!