0
我新的BIRT的,我想我的问题是很容易的,但我不能看到如何实现我的目标......BIRT报表,SQL
的任务是建立在不同的法院报告其请求中包含有关法院雇员的不同信息。 DataSetRow[“COURT”]
代表报告的标题,它根据员工法院而变化,通常按字母顺序更改标题,这取决于我得到的结果和请求该信息的法院。我需要让它依赖于需要报告的用户。为此,我需要USER_ID
和HR
的PERSONAL_ID列匹配,因此DataSetRow[“COURT”]
应该成为COURT列所具有的相同编号。我不知道如何定义这为用户...
报表参数: 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 = ?
预先感谢您!
谢谢你,我已经想通了这一点:我只是创建了两个数据集。 – alecsia