java - 如何在JPA JPQL中编写这个SQL select?

标签 java sql jpa jpql

我有一个,将其命名为REI_BODY,我还有另一个表,将其命名为REI_AMT_INFO。我在 oracle pl/sql 中有一个选择:

SELECT *,

  (SELECT AMT    FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '01') AMT_01,
  (SELECT AMT    FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '02') AMT_02,

  (SELECT SGN_CD FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '01') SGN_01,
  (SELECT SGN_CD FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '02') SGN_02,

FROM REI_BODY T

这是 REI_AMT_INFO 表,没有外键!:

REI_ID (Number);
AMT_TYPE_CD (Varchar);
AMT (Number);
SGN_CD (Varchar);

我必须使用 JPA JPQL 语言创建此选择。我怎样才能做到这一点?

最佳答案

@NamedQuery(
    name="REI_BODY",
    query="SELECT *,

  (SELECT AMT    FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '01') AMT_01,
  (SELECT AMT    FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '02') AMT_02,

  (SELECT SGN_CD FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '01') SGN_01,
  (SELECT SGN_CD FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '02') SGN_02,

FROM REI_BODY T"
)

CHECK THE LINK

关于java - 如何在JPA JPQL中编写这个SQL select?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21430282/

相关文章:

java - 从 Jquery 调用 Bean 方法

mysql - 确保关闭 EntityManager 连接的正确方法是什么?

java - 用 Java 劫持音频?

sql - 为每个 ID 选择每月的最后一条记录

java - com.microsoft.sqlserver.jdbc.SQLServerException : Conversion failed when converting the nvarchar value '123.0' to data type int

sql - PostGIS:在多边形中选择点的函数

spring - @OrderBy 注解不能按子关系排序

java - 更新时 Hibernate 集合为空

java - 云数据流-TextIO.Read : Return specific file URL given a match pattern

java - 如何将整数数组从 AsyncTask 获取到同一 Activity 中的另一个方法?