ケースステートメントをORDER BYしたいですか?どうしたらいいですか?今テストする位置にJPAで "ケース列"を入力
SELECT new com.systemname.to.UserDataHolder(u.userId,
CASE WHEN (u.place.cityId = :cityId) THEN 1 WHEN (u.place.stateId = :stateId) THEN 2 ELSE 3 END)
FROM User u
ORDER BY u.userId DESC
2番目のオプションはうまくいきますが、1つのCASEでより長くかかります。私がしたことは、JavaでCASE値を設定し、CASE WHENをORDER BY節に置いただけです。これは、アプリケーション上にあった古いSQLより完全に速く動作しました。 – pringlesinn
私たちはASCやDESCも同様に並べ替えることができますか?..私はこれを使ってみましたが、予期しないトークンASCを取得しましたか? –