Grails:加入同一个表的两列

时间:2017-08-09 09:38:17

标签: grails hql gorm criteria

如何将此SQL查询转换为Grails中的条件或HQL查询

select  distinct(x.id) 
FROM y INNER JOIN x ON y.x_id =x.id  OR y.x2_id=x.id

其中x_id和x2_id是x table的外键

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题,

select distinct(y.id) from Y y 
left join y.x1 x1
left join y.x2 x2

如果没有,那么

select distinct(y.id) from Y y 
full join y.x1 x1
full join y.x2 x2

如果它们未连接,请尝试此

select distinct(x.id) from X x, Y y 
where y.xId1 = x.id or y.xId2 = x.id

注意:如果您可以共享这两个域类,那将会很有帮助。顺便说一下,我没有环境,所以不能尝试这些。