2016-07-04 3 views
2

프로젝트는 사용자 지정 정렬을 필요로합니다. 그리고 그물로 잠수 할 때 나는 다음의 SQL 문들을 생각해 낸다.사례를 사용하여 사용자 지정 정렬을 수행하는 방법에 관한 놀랍도록 지시

SELECT CountryName 
FROM dbo.Country 
ORDER BY CASE WHEN CountryName = 'INDIA' THEN '1' 
       WHEN CountryName = 'CHINA' THEN '2' 
       ELSE CountryName END ASC 

누군가 내가 이것을 슬릭에서 도울 수 있습니까?

이미 쿼리

contriesQuery.map(_.CountryName) 
.sortBy(c => { 
    val srt = { 
     Case If(x.CountryName = "India") Then 1 
     Case If(x.CountryName = "China") Then 2 
     Case Else CountryName 
    } 
    srt.asc 
}) 
.result 

의이 종류가 있지만 항상 나에게 오류 org.postgresql.util.PSQLException 보여주는

: ERROR : 선택 목록에 표시되어야합니다 SELECT ORDER에 대한 표현 BY를

답변

0

귀하의 접근 방식을 기반으로 쿼리를 만들었으며 예상대로 작동하고 있습니다. PostgreSQL에서 slick 3를 사용하고 있습니다.

나는 올바른 구문에 대한

Case If(...) Then ... If(...) Then ... If(...) Then ... Else ...

이라고 생각 더 나은 당신이 그래서 그것을 쓸 수 읽기 :

Case .If(...).Then(...) .If(...).Then(...) .If(...).Then(...) .Else(...) .asc

감사합니다!