我在甲骨文APEX工作。我想报告上一个月由医生治疗的病人和病史两个表格。
Pat_id是患者表中的主键和历史表中的外键。
我想要向我显示Pat_Name ,Pat_Age ,Treated_By
和Date
的报告,因为我还可以从LOV
(价值清单)中选择月份,并根据该月的情况向我显示报告。
请帮助我 谢谢,
答案 0 :(得分:2)
SELECT p.pat_name, p.pat_age, h.treated_by, h.date
FROM patient p
JOIN history h
ON p.pat_id = h.pat_id
WHERE EXTRACT(MONTH FROM h.date) = TO_NUMBER(:P1_MONTH)
(真正基本的连接条件)
如果您想要订购,可以在sql中包含它,或者在经典报告的报告定义中定义它,或者在交互式报告中将其定义为默认值。
P1_MONTH
:选择列表。至于其值列表,您可以静态定义月份(12个月份编号作为返回值,月份名称作为显示),或使用查询:
SELECT to_char(add_months(to_date('01/01/2012','DD/MM/YYYY'),LEVEL-1),'Month') display_value, LEVEL return_value
FROM dual
CONNECT BY LEVEL <= 12
将选择列表设置为在更改时提交。
作为额外注释:在您的模式中将列名设置为UPPERCASE。除非在创建时以其他方式定义,否则列始终为大写。同样要小心使用保留关键字来表示列名:DATE
可能不是列的最佳名称...给它一个有用的名称,例如TREATED_ON