BIRT报告,SQL

时间:2016-02-12 09:30:25

标签: sql birt

我是BIRT的新手,我想我的问题很简单,但我看不出如何实现我的目标......

任务是为不同的法院就其请求创建一份报告,其中包含有关法院雇员的不同信息。 DataSetRow[“COURT”]代表报告的标题,它根据员工法院进行更改,通常按字母顺序更改其标题,这取决于我得到的结果和请求该信息的法院。我需要让它依赖于需要报告的用户。为此,我需要USER_IDHR中的PERSONAL_ID列进行匹配,因此DataSetRow[“COURT”]应该与COURT列具有相同的数字。我不知道如何为USER定义这个......

报告参数: 的 DATA_FORM 下, 的 USER_ID

数据库中有两个重要的表:

USERS :包含USER_ID列和PERSONAL_ID列。

HR :我需要的PERSONAL_ID和C_COURT相同。

SELECT   

H.PERSONAL_ID,
SURNAME||' '||NAME||' '||SNAME AS NAME,
DECODE_UNI (H.T_COURT, H.C_COURT) AS COURT,
DECODE_UNI (HA.T_COURT, HA.C_COURT) AS C_COURT,
TO_CHAR (TO_DATE(BIRTH_DATE, 'yyyymmdd'),'yyyy') AS BIRTH_DATE,
DECODE_UNI (HA.T_POSITION, HA.C_POSITION) AS POSITION,
DECODE_UNI (HA.T_DEPARTMENT, HA.C_DEPARTMENT) AS DEPARTMENT,
DECODE_UNI (HW.T_AWARD_TYPE, HW.C_AWARD_TYPE) AS AWARD_TYPE,
TO_CHAR (HW.AWARD_DATE, 'dd.mm.yyyy') AS AWARD_DATE,
HW.AWARD_DESC,
U.PERSONAL_ID AS PERSONAL_USER

FROM

HR H, HR_APPOINTMENT HA, HR_AWARD HW, USERS U

WHERE

H.PERSONAL_ID = HA.PERSONAL_ID
AND H.PERSONAL_ID = HW.PERSONAL_ID
AND HA.ACTIVE = 1
AND H.C_STATE = 1
AND HA.STATUS_LAST = 1
AND H.REC_DATE <= TO_DATE (?, 'dd.mm.yyyy')
AND USER_ID = ?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

在没有完整图片的情况下回答很复杂,但正如您所描述的那样,查询中似乎缺少连接:

AND H.PERSONAL_ID=U.PERSONAL_ID
相关问题