在 JPQL 中转换 NOT IN SELECT 查询
Posted
技术标签:
【中文标题】在 JPQL 中转换 NOT IN SELECT 查询【英文标题】:Convert a NOT IN SELECT query in JPQL 【发布时间】:2021-02-10 15:37:34 【问题描述】:SELECT TI
FROM
Timpot TI
WHERE
TI.idImpot not in
(select TREG.TImpot.idImpot from Tri1342 TRED where TRED.etatRgltImpot='ANNULE' )
我在 JPQL 中有这个请求,但它不起作用我认为这是因为 not in select 子句,我想要一些解释。谢谢
【问题讨论】:
【参考方案1】:您可以使用 NOT EXISTS 子句,效率更高,如下所示:
SELECT TI
FROM Timpot TI
WHERE NOT EXISTS(
SELECT 1 FROM Tri1342 TRED
WHERE TRED.etatRgltImpot='ANNULE' AND TRED.TImport.idImpot = TI.idImport
)
【讨论】:
以上是关于在 JPQL 中转换 NOT IN SELECT 查询的主要内容,如果未能解决你的问题,请参考以下文章