sql - 在 JPQL 中转换 NOT IN SELECT 查询
问题描述
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
)
推荐阅读
- python - 使机器人对最后一条消息作出反应或对带有消息 ID 的消息作出反应
- excel - 使用 SUMIFS 忽略负数
- php - 基于使用 PHPMailer 选择的单选按钮的不同自动响应反馈
- java - 遍历具有不同长度的第二维的二维数组
- powershell - Powershell:循环遍历子目录并移动文件
- python - Python:以数组形式访问类属性
- php - 安装 MongoDB PHP 驱动程序时出错:Composer 找不到 Mongodb
- c - 将并行进程的结果添加到共享内存
- c - 在 C 中修改时间函数
- reactjs - 试图运行 webpack 以获取 bundle.js 文件时卡住了