在实体SQL中可以进行自我联接吗?

时间:2018-08-08 19:38:54

标签: sql entity self-join entity-sql

关于实体SQL,我有一个问题,我需要根据特定的列值在表本身中进行查找。我真的不知道如何表达这个问题,但我会尽力而为。另外,我对实体SQL的语法不太了解,希望在此提供一些帮助。基本上我有2个表(table1和table2)。在表1中,我有名称和folderID。在表2中,我有folderID的parentFolderID和FolderName。

我需要创建一个select语句,在其中显示table1中的每个名称以及它的parentFolder名称(如果可以的话)。我可以很容易地获得父文件夹的ID,但是对于如何使用该ID来自身联接(也许?)表感到困惑。

尝试执行此操作JOIN table2 on table2.folderID = table2.parentFolderID时收到此错误,“ JOIN子句中不允许左相关”。我不确定此错误意味着什么,我也不熟悉ESQL,并且希望获得任何帮助/提示。我随附了一张我要完成的照片,以防我的描述令人困惑。

Desired Output

1 个答案:

答案 0 :(得分:0)

如果父子关系仅适用于一个级别,则可以在table2上使用自联接

select  a.cust_name, c.folder_name 
from table1 a 
inner join table2 b on a.cust_folder_id =  b.folder_id 
inner join table 2 c on b.parent_folder = c.folder_id