我是 SQL 的初学者,所以我不知道如何解决这个问题。它与 Northwind 相关,由 Oracle 完成。我有一张员工表,每个员工都有另一个员工的 ID 作为经理(即员工向其报告的人):
我需要翻转它,以便经理应该在一个单元格中拥有一个下属列表,而不是让员工拥有经理。
我应该如何处理这个?我不知道...
我认为要列出所有下属,您应该使用分层查询:
select *
from
employees
start with NAME = <NAME>
connect by REPORTSTO = prior EMPLOYEE_ID ;
你这里也有例子 Oracle Hierarchical Query: Find entire tree from the root given a any node
注意 将列表放在一个单元格中是之后的步骤。
在 connect by 中编辑恢复的employee_id
您可以将它们连接到一个单元格中,但我不确定这是否是您想要的,或者该表单中的使用数据是什么。您希望数据位于彼此不同的单元格中。
这里也是一个预言机解决方案的例子。 https://stackoverflow.com/a/9621167