【发布时间】:2018-09-18 13:09:09
【问题描述】:
我有 3 个表:Employees、Locations 和 EmpLocation
- Employees 以 Employee_ID 作为主键存储员工数据,
- Locations 使用 Location_ID 存储位置数据。
- EmpLocation 存储 Employee_ID 和 Location_ID。每个员工可以有多个位置。
我需要创建一个交互式网格来显示所有员工的数据,包括那些没有分配位置的员工。 然后,用户需要能够为那些将其设为空的员工选择一个位置,并且还需要为任何员工添加一个额外的位置。 我想我需要的是可编辑网格中的两个选择列表。因此,可以通过选择员工和相应的位置来添加新行。
我使用了以下查询:
SELECT el.Employee_ID, el.Location_ID
FROM EmpLocations el
然后我将每一列设为一个选择列表,其中第一列从员工表中提取数据:
SELECT Employee_FName, Employee_ID FROM Employees
第二个 - 来自位置:
SELECT Location_Name, Location_ID FROM Locations
一切看起来都不错,但这样我只能找到至少分配了一个地点的员工。我需要查看所有员工以及他们是否分配了任何位置(每个员工可以分配多个位置)。
所以我将网格的源查询更改为:
SELECT e.Employee_ID, el.Location_ID
FROM Employees e
LEFT JOIN EmpLocations el ON e.Employee_ID=el.Employee_ID
但是在这种情况下,由于涉及到两个表,是否有可能使网格可更新?
【问题讨论】:
标签: oracle-apex oracle-apex-5.1