0
我有一个用例需要IN子句应用于两个表。休眠弹簧数据Jpa
这两个表不是通过外键约束相关的,也不是任何一个列的值都相同,因此查询使用CONCAT。
本机查询,因此,看起来是这样的:
SELECT A.requiredColumn from A, B WHERE colA LIKE CONCAT(colB, 'FOR_COMPARISON');
要做到在Spring数据JPA一个加入这个样子,我不知道是有办法做到明确映射,因为列不完全“等于”。这些都是我研究的主题:
Selecting from Multiple Tables in Spring Data
Joining two table entities in Spring Data JPA
我申请了Spring数据JPA相当于IN子句为低于本地:
SELECT A.requiredColumn
from A
where colA in (
select CONCAT(colB, 'FOR_COMPARISON')
from B);
为:
SELECT a
from A
WHERE colA in (
select concat(
trim(colB), 'FOR_COMPARISON')
from B
);
但是,这导致:
QuerySyntaxException:期待CLOSE '从' 接近1号线发现,列134
是否有任何想法解决这个问题呢?
看起来你可能会遗漏右括号 –
谢谢@ jonathan.ihm,即复制/粘贴错误。语法很好。 – barsakus
然后请用您使用的实际陈述更新问题。因为这个错误看起来就像人们希望从失踪的伙伴那里得到的那样。 –