2012-02-17 4 views
0

저는 Grails의 초보자이고 큰 문제가 있습니다. 수량 내림차순으로 정렬 한 후, 그리고 -Grails createCriteria mysql IF 문

class Product{ 

    String name 
    Integer priority 
    Double quantity 
} 

I는 우선 순위에 의해 분류 할 제품 (가 0 또는 1)은 I 이 도메인을 가지고있다. MySQL의에서합니다 alse CASE 문이 있습니다

select name, IF(quantity>=1,1,0) as q from product 
where ... 
order by priority desc, q desc, id desc 

하지만, Grails는 내가이 기준을 만드는 방법 아이디어가 없습니다 : MySQL의에서이 같은 해.

미리 감사드립니다.

+0

안녕하세요, splix. 내 게시물을 편집하기위한 Tnx. 나는 서둘러 ... 미안해! – jare25

답변

0

봅니다 주위 아래 뭔가해야 할 일 : 우선 순위를 고려

select name,IF(quantity>=1,1,0) as q 
    from product 
    where ... 
    order by IF(priority=1,0,1), q desc, id desc 

1 = 높은 0 = 낮은

요구를

+0

안녕하세요, Teez. 빠른 답장을 보내 주셔서 감사합니다,하지만 나는 obviosly 내가 필요한 것을 설명하지 않았다. 위의 mysql 문과 같은 기능을하는 Grails 기준을 원한다. 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다. – jare25

1

One needs to create a custom Order (sql-generating) class 임의의 표현에 정렬하거나 SQL로 이동을 변경주세요 .

HQL조차도 그렇게 할 수없는 것처럼 보입니다. Product.executeQuery('from Product p order by (id > 100)')은 HQL 구문 오류로 나를 위해 실패합니다.