java - “组语句”中的 JPA 未知列别名
问题描述
在 java SQL 上运行此查询时出现错误,但当我在 SQL 编辑器上测试它时它可以工作
@Query(value = "SELECT l.loan, max(i.date) as dDate, tr.collecty, sum(i.expectedAmount) as amount,"
+ "(select CASE WHEN (br.stype = 'x') THEN br.idNumber ELSE br.np END as type from Bower br inner join Leds ld on br.id = ld.bowerId where ld.loan = :loan) as bId "
+ "FROM Loan l INNER JOIN Inst i ON l.loan = i.loan INNER JOIN TList tr ON l.loan = tr.loan WHERE l.loan = :loan GROUP BY l.loanId, tr.collecty, bId")
并得到错误
引起:java.sql.SQLSyntaxErrorException:“组语句”中的未知列“bId”
如何解决?
解决方案
group by 的执行顺序在查询中的 select 之前。因此,在您按 bId 分组时,选择查询尚未执行,它不会识别 bId 列或您在选择时指定的任何别名。
推荐阅读
- csv - Jmeter - CSV 文件 - 将值从全局 csv 发送到本地 csv
- ios - 如何在谷歌地图中处理标记簇中的单个标记
- java - Does Keycloak support basic Authentication?
- html - How to border white and box-shadow this text
- api - 端点没有路由
- sql - 如何在 hive 案例语句中查找大列表
- ruby-on-rails - 更新后重复的方法
- spring-boot - 在将 graphql-java 与 spring boot 一起使用时,我无法在嵌套列表中查询数据
- visual-studio-code - Signature Help Provider is working incorrectly in custom extension
- python - 在python中使用余弦相似度将向量与其他向量进行比较的快速方法?预计算矩阵?LSH 哈希?