问题描述
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子句引起的,我想要一些解释。谢谢
解决方法
您可以使用效率更高的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
)