簡體   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