繁体   English   中英

仅当 JPA 中的条件满足时才进行左外连接

[英]Do left outer join only if condition satisfies in JPA

我是 JPA 的新手,并且仅在本机 JPA 查询中满足条件时才尝试进行左外连接。

本机查询如下所示。 在这里,我想使用 where 条件执行A left outer join B ,仅当应用程序中给定的toJoin标志为 true 时:

select a.id, a.name from A left outer join B on A.id = B.aid where b.name="some_name"

我不确定,我将如何在我的 JPA 存储库中的上述本机 JPA 查询中容纳toJoin应用程序标志。

编辑

我只是试图在CASE WHEN和示例条件的帮助下在 mysql 中实现相同的目标,如下所示:

select a.id from A a, case when 1=2 then left outer join B b ON a.id = b.aid end limit 2;

但我收到语法错误。

您的问题仍然含糊不清,但我怀疑您的努力:

select a.id
from A a, case when 1=2 then left outer join B b on a.id = b.aid end
limit 2

是指:

select a.id, b.someColumn
from A a
left join B b on a.id = b.aid and 1=2
limit 2

其中1=2实际上是一些更复杂的表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM