SELECT
jpaemploye0_.ID AS col_0_0_,
(SELECT
SUM(jpaemploye1_.PAYM_AMT)
FROM
EO_EMP_ADV_ITEM jpaemploye1_,
EO_EMP_ADV jpaemploye2_
WHERE jpaemploye1_.EMP_ADV_ID = jpaemploye2_.ID
AND jpaemploye1_.EMP_ADV_ID = jpaemploye0_.ID) AS col_1_0_,
(SELECT
MAX(jpaemploye3_.CURRENCY_NAME)
FROM
EO_EMP_ADV_ITEM jpaemploye3_,
EO_EMP_ADV jpaemploye4_
WHERE jpaemploye3_.EMP_ADV_ID = jpaemploye4_.ID
AND jpaemploye3_.EMP_ADV_ID = jpaemploye0_.ID) AS col_2_0_,
(SELECT
MAX(jpapayment5_.PAYM_BILL_ID)
FROM
EO_PAYM_BILL_WRITE_OFF jpapayment5_
WHERE jpapayment5_.WRITTEN_OFF_BILL_ID = jpaemploye0_.ID
AND jpapayment5_.WRITTEN_OFF_BILL_TYPE = 'E_ADV'
AND jpapayment5_.PAYM_BILL_TYPE = 'E_REIM') AS col_3_0_,
(SELECT
MAX(jpaemploye6_.COMPANY_NAME)
FROM
EO_EMP_ADV jpaemploye6_) AS col_4_0_,
(SELECT
MAX(jpaemploye7_.STAT_TYPE_NAME)
FROM
EO_EMP_ADV_STAT jpaemploye7_,
EO_EMP_ADV jpaemploye8_
WHERE jpaemploye7_.EMP_ADV_ID = jpaemploye8_.ID
AND jpaemploye7_.EMP_ADV_ID = jpaemploye0_.ID
AND (jpaemploye7_.TO_DATE IS NULL)) AS col_5_0_,
jpaemploye0_.APP_DATE AS col_6_0_,
jpaemploye0_.APP_USER_NAME AS col_7_0_,
jpaemploye0_.PAYEE_USER_NAME AS col_8_0_,
(SELECT
MAX(jpauimsynu9_.USER_REAL_NAME)
FROM
UIM_SYN_USER jpauimsynu9_
WHERE jpauimsynu9_.USER_NO = jpaemploye0_.APP_USER_NAME) AS col_9_0_,
jpaemploye0_.COMPANY_NAME AS col_10_0_,
(SELECT
MAX(jpaemploye10_.CURRENCY_CODE)
FROM
EO_EMP_ADV_ITEM jpaemploye10_,
EO_EMP_ADV jpaemploye11_
WHERE jpaemploye10_.EMP_ADV_ID = jpaemploye11_.ID
AND jpaemploye10_.EMP_ADV_ID = jpaemploye0_.ID) AS col_11_0_
FROM
EO_EMP_ADV jpaemploye0_
WHERE jpaemploye0_.COMPANY_CODE = '3001'
AND jpaemploye0_.PAYEE_USER_CODE = '0007875'
AND jpaemploye0_.SUB_TYPE = '3'
AND jpaemploye0_.APP_USER_NAME = '0007875'
AND (
EXISTS
(SELECT
1
FROM
EO_PAYM_BILL_WRITE_OFF jpapayment12_
WHERE jpapayment12_.WRITTEN_OFF_BILL_ID = jpaemploye0_.ID
AND jpapayment12_.WRITTEN_OFF_BILL_TYPE = 'E_ADV'
AND jpapayment12_.PAYM_BILL_TYPE = 'E_REIM'
AND jpapayment12_.PAYM_BILL_ID = jpaemploye0_.id)
OR NOT (
EXISTS
(SELECT
1
FROM
EO_PAYM_BILL_WRITE_OFF jpapayment13_
WHERE jpapayment13_.WRITTEN_OFF_BILL_ID = jpaemploye0_.ID
AND jpapayment13_.WRITTEN_OFF_BILL_TYPE = 'E_ADV')
)
)
AND
(SELECT
MAX(jpaemploye14_.STAT_TYPE)
FROM
EO_EMP_ADV_STAT jpaemploye14_
WHERE jpaemploye14_.EMP_ADV_ID = jpaemploye0_.ID
AND (jpaemploye14_.TO_DATE IS NULL)) = 'PAID'
EO_EMP_ADV jpaemploye0_ 借支单
EO_EMP_ADV_ITEM jpaemploye1_ 明细
EO_EMP_ADV jpaemploye2_
EO_EMP_ADV_ITEM jpaemploye3_
EO_EMP_ADV jpaemploye4_
EO_PAYM_BILL_WRITE_OFF jpapayment5_ 借支报销关联关系表
EO_EMP_ADV jpaemploye6_
EO_EMP_ADV_STAT jpaemploye7_ 状态
EO_EMP_ADV jpaemploye8_
UIM_SYN_USER jpauimsynu9_ 用户信息
EO_EMP_ADV_ITEM jpaemploye10_
EO_EMP_ADV jpaemploye11_
EO_EMP_ADV jpaemploye0_
EO_PAYM_BILL_WRITE_OFF jpapayment12_
EO_PAYM_BILL_WRITE_OFF jpapayment13_
EO_EMP_ADV_STAT jpaemploye14_
查询结果
1列 借支单ID
2列 通过借支单的ID查询的所有关联明细表中的所有付款金额总数
SUM(PAYM_AMT)
3列 通过借支单的ID查询所有关联的明细表中币种名称的最大值
MAX(CURRENCY_NAME)
4列 通过借支单的ID查询借支报销关联关系表中满足
WRITTEN_OFF_BILL_TYPE = 'E_ADV'
PAYM_BILL_TYPE = 'E_REIM'
条件的对应字段的最大的字段。
PAYM_BILL_IDMAX(jpapayment5_.PAYM_BILL_ID)
5列 查询借支单主表中申请公司名称的最大值
MAX(PAYM_BILL_ID)
6列 通过借支单的ID查询查询关联状态表中满足 处理结束日期 = null 的字段(最新 字段)数据集合中 状态类型名称 的最大值。
MAX(STAT_TYPE_NAME)
7列 借支单的申请时间
8列 借支单的申请人
9列 借支单的收款人
10列 查询用户信息表中对应借支单的申请人等于用户信息表的用户编号
(USER_NO =APP_USER_NAME)的用户名称最大值 MAX(USER_REAL_NAME)
11列 借支单主表的公司名称
12列 通过借支单主表查询关联的所有借支单明细表中的币种名称的最大值。
MAX(.CURRENCY_CODE)
条件
1 借支单主表的申请公司编码= 3001
2 借支单主表的收款员工编码 = 0007875
3 借支单主表的从属类型 = 无PO固定资产
4 第四个AND总为true
5 借支单对应所有明细表的状态类型最大值 = PAID
MAX(STAT_TYPE)