Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL,Northwind数据库练习初学者问题_Sql_Oracle_Northwind - Fatal编程技术网

SQL,Northwind数据库练习初学者问题

SQL,Northwind数据库练习初学者问题,sql,oracle,northwind,Sql,Oracle,Northwind,我是SQL的初学者,所以我不知道如何解决这个问题。这是与Northwind有关的,由Oracle完成。 我有一个员工表,每个员工都有另一个作为经理的员工ID(即员工报告对象): 我需要把它翻过来,这样员工就不用有经理了,经理应该在一个单元格中有一个下属列表 我应该如何处理这个问题?我不知道…我认为要列出所有下属,您应该使用分层查询: select * from employees start with NAME = <NAME> connect by REPORTSTO = prio

我是SQL的初学者,所以我不知道如何解决这个问题。这是与Northwind有关的,由Oracle完成。 我有一个员工表,每个员工都有另一个作为经理的员工ID(即员工报告对象):

我需要把它翻过来,这样员工就不用有经理了,经理应该在一个单元格中有一个下属列表


我应该如何处理这个问题?我不知道…

我认为要列出所有下属,您应该使用分层查询:

select *
from
employees
start with NAME = <NAME>
connect by REPORTSTO = prior EMPLOYEE_ID ;  
选择*
从…起
员工
以名称开头=
connect by REPORTSTO=以前的员工\u ID;
你这里也有例子

注意:将列表放在一个单元格中,这是后面的步骤


在“连接方式”中编辑还原的员工id您可以将其连接到一个单元格中,但我不确定这是否是您想要的,或者该表单中的数据将用于什么用途。您希望数据彼此位于不同的单元格中

这里还有一个oracle解决方案的示例。

下属仅为N-1下属或N-2、N-3等?您需要将此作为查询的结果吗?或者您需要将其作为表模式的设计?如果是后者,你应该放弃这个想法,转而创建一个下属表。employee表的结构是什么?@squillman它应该是一个查询的结果,不能以任何方式编辑该表。这是一个数据库课程的练习。Northwind是SQL Server示例数据库,而不是Oracle。为什么要在Oracle数据库中使用该模式?您确定使用的是Oracle而不是SQL Server吗?或者您是否在使用Oracle的
HR
模式而不是Northwind?从根本上说,在一个单元格中存储多个值也是没有意义的——这违反了正确规范化的所有规则。谢谢!这些例子是迄今为止我得到的最好的例子。