2014-11-26 2 views
0

은 내가 Grails의 쿼리로 변환 할 MySQL의 쿼리Grails의 서브 쿼리

SELECT a.* FROM table a, 
     (SELECT NAME, MAX(VERSION) AS VERSION FROM table b 
     WHERE b.version <= 2.3 
     GROUP BY NAME) c 
     WHERE a.name=c.name 
     AND a.version=c.version; 

있습니다. 나는 시도했다 그것을

Table.executeQuery("from Table a, (SELECT NAME, MAX(VERSION) FROM Table b WHERE b.VERSION <= :fieldVersion GROUP BY b.NAME) c where a.NAME=c.NAME AND a.VERSION=c.VERSION",[fieldVersion:version]); 

그러나 코드 (을 선택 근처 오류를 보여주고는 컴파일되지 않습니다있다.

답변

0

을이 시도 ..

Table.findAll를 (" 테이블에서, (선택 이름, MAX (VERSION) AS VERSION FROM 테이블에서 WHERE b.version < =? GROUP BY NAME) c WHERE a.name = c.name AND a.version = c.version ", [ 2.3])

+0

코드에 따라된다 반환 무엇 근처 같은 오류 (그것이 행을 반환하지 않고 도메인 개체를 반환하지 않습니다 – Biswas

0

시험해보기 :

import groovy.sql.Sql 

def executeQuery(String query) { 
    def db = new Sql(dataSource) 
    db.rows(query) 
} 

는 쿼리 자체

+0

을 선택을 보여줍니다. 나는 그 물건들을 원해. 감사. – Biswas