クエリの結果を並べ替えるのに問題があります。
このクエリを実行した後:
SELECT id_doc_header, id_clasificacion_doc
FROM cabecera_documento INNER JOIN tipo_doc USING (id_tipo_doc)
INNER JOIN clasificacion_documento USING (id_clasificacion_doc)
WHERE finalizado = 'f' AND cod_exp = '10-APC-2013' AND id_clasificacion_doc in(2,3,4,5)
ORDER BY case when Id_clasificacion_doc = 5 THEN 5 when Id_clasificacion_doc = 3 THEN 3
when Id_clasificacion_doc = 2 THEN 2 when Id_clasificacion_doc = 4 THEN 4 END;
またはこれ:
SELECT id_doc_header, id_clasificacion_doc
FROM cabecera_documento INNER JOIN tipo_doc USING (id_tipo_doc)
INNER JOIN clasificacion_documento USING (id_clasificacion_doc)
WHERE finalizado = 'f' AND cod_exp = '10-APC-2013'
AND id_clasificacion_doc in(2,3,4,5)
ORDER BY id_clasificacion_doc = 5, id_clasificacion_doc = 3, id_clasificacion_doc = 2, id_clasificacion_doc = 4;
私が得る結果は次のとおりです。
id_doc_header | id_clasificacion_doc
---------------+----------------------
1657 | 2
1658 | 3
1658 | 2
1661 | 4
1663 | 4
1665 | 5
私の質問は次のとおりです。次の順序で結果を取得するにはどうすればよいですか?
id_doc_header | id_clasificacion_doc
---------------+----------------------
1665 | 5
1658 | 3
1657 | 2
1661 | 4
1663 | 4
posgresql9.1を使用しています。
前もって感謝します。