【发布时间】:2014-09-05 02:20:02
【问题描述】:
我有三个实体/表
A 和 B 是一对多的关系,B 和 C 是一对一的关系。
我想获取所有具有特定 C 值的 A 并与 B 左连接
例如
我想要 A 和 B 的 C.value = 'A'
表 A
id
1
2
3
表 B
idToA ║ idToC ║ value
1 ║ 1 ║ 'X'
2 ║ 1 ║ 'Y'
3 ║ 2 ║ 'Z'
表 C
id ║ value
1 ║ 'A'
2 ║ 'B'
3 ║ 'C'
得到结果
A.id ║ b.value
1 ║ 'X'
2 ║ 'Y'
3 ║
我设法得到以下 SQL:
select a.id, b.value
from A left outer join B on A.id = B.idToA and B.idToC in
(select id from C where C.value = 'A')
但由于左连接条件内的子查询,我似乎找不到将此查询转换为 HQL 的方法。
【问题讨论】: