0

我正在使用 apex 应用程序构建来创建报告。

桌子

职员

id    name

201   john
302   sarah
787   bob

产品

product_editor_id     product_name

201                   car
307                   shoe
728                   airbag

正如您在员工表中看到的那样,我有员工详细信息,在产品中我有员工 ID 以显示创建它的员工。

在我的报告中,我从员工表中选择了所有内容,但是您看到我的员工在哪里我id不想显示,id而是他们的名字

我为此重写了一个查询。我问这个问题的原因是在上一个查询中我有这样的事情

select * from staff Inner join
company_car ON
staff.staff_car_id=company_car.vehicle_id_staffid

如果该查询没有意义。基本上我这样做是为了只显示拥有公司汽车的员工,并且 vehicle_id_staffid 与员工 ID 相同。

无论如何,对于该查询,我需要向其中添加我的新查询,即

select distinct name from staff
left join product on 
staff.id=product.product_editor_id

我试过了

select * from staff Inner join
company_car ON
staff.staff_car_id=company_car.vehicle_id_staffid
UNION
select distinct name from staff
left join product on 
staff.id=product.product_editor_id

但顶点说ORA-01789: query block has incorrect number of result columns

我希望它的结果有所不同。第一个查询应该对第二个查询有任何问题,因为他们只是在做自己的事情。

4

1 回答 1

0

可能最简单的方法是在其中创建包含人员 ID 的原始报告。因此,将新报告创建为新页面或页面上的区域。-就像是 :

Select * from company_car

因此,您将获得将 staff_id 作为列之一的报告。然后您编辑页面属性并转到报告。

在此处输入图像描述

选择报告属性,然后从报告中的列列表中选择 staff_id 列编辑(左侧的铅笔图标)。

转到显示为并选择“基于 LOV 不保存状态显示为文本”

将出现值列表。转到值列表部分

并输入:

select id r, name d from staff;

或者

select id r, name||' '||surname d from staff;

在这里,您需要将 staff_id 与将显示在报告上的姓名和他们的姓氏联系起来,而不是无意义的 id。或者,您可以创建静态 LOV 并使用它来填充此列,或者您可以尝试构建 JOIN 语句。

于 2013-09-12T12:32:33.983 回答