SQL自引用查询。加入

时间:2012-06-02 13:22:21

标签: sql self-reference

我需要查询单元先决条件的自引用关系。

我知道你需要使用两个连接,我选择我的列然后加入它自己吗?

SELECT u.unit_code,
   u.name + ' is a prerequisite of ' + u.name AS unit_prerequisite

FROM units AS u

到目前为止,这就是我所拥有的,不确定我的联接必须在哪里制作?甚至不确定第一部分是否正确。

2 个答案:

答案 0 :(得分:6)

您可以通过在自引用列上将表连接到自身来执行此操作:

SELECT 
    u.unit_code, 
    u1.name + ' is a prerequisite of ' + u2.name AS unit_prerequisite 
FROM 
    units AS u1
    inner join units u2 on u2.RefId = u1.RefId 

答案 1 :(得分:0)

你需要JOIN给自己,类似于:

SELECT u1.unit_code,
   u1.name + ' is a prerequisite of ' + u2.name AS unit_prerequisite

FROM units  u1
INNER JOIN units u2
    ON u1.id = u2.id