FROM子句中的HQL子查询用于右连接

时间:2015-10-22 19:34:48

标签: hibernate hql

我需要以下列格式执行SQL查询:

SELECT * FROM (SELECT * FROM TableA WHERE flag=1) AS a
RIGHT JOIN TableB AS b 
ON a.refb = b

这个想法只是将TableA的一个子集与完整的TableB连接起来。这样,带有标志!= 0的TableA行在最终结果中只显示一次,具有NULL值。

现在,我认为等效的HQL查询与此类似:

FROM (FROM TableA ta WHERE ta.flag = 1) AS a
RIGHT JOIN a.bref b

但FROM子句中显然不支持子查询。有没有其他方法可以获得相同的结果?

2 个答案:

答案 0 :(得分:0)

select a, b from TableA a right join a.bref b with a.flag = 1

重点是使用定义外连接额外条件的with子句。

答案 1 :(得分:-1)

编辑:对不起,我误解了这个问题。

您可以在HQL上使用完整的选择条款,由于FROM ( FROM,您提供的语法无效,只需将其更改为FROM ( SELECT * FROM即可使用