Rafael: SQL in MySQL - PostgreSQL

Beitrag lesen

Wie du schon richtig vermutest liegt es an der Funktion FIELD(), die Postgres nicht kennt. Ein Ambivalent gibt es in Postgres nicht und mir würde gerade auch nicht einfallen, wie sich das umgehen liese. Eventuell aber könntest du dir die Sortierung in der Weiterverarbeitung zu nutze machen, was natürlich ein bisschen Performanz einbüssen lässt.

In deinem Zwei-Statement-Fall sollte dir

SELECT * FROM rpoint WHERE ROUTEID IN ('P0#-P1#','P1#-P0#') ORDER BY FIELD ROUTEID DESC;

für beide Systeme das gewünschte Ergebnis liefern.