0

我仍然是 SQL 的初学者,我找不到完成以下任务的方法。

在表 AI 中有以下内容。

ID, Name
1, somethingGeeky
2, reallyGeeky
3, TotallyGeeky

在表 BI 中,使用 uniqueID 来关联先决条件。

Id, prerequisiteID
3, 2
2, 1

我正在尝试编写一个查询表 B 的语句,但将唯一 ID 替换为表 A 中的名称。

所以,它会显示像..

Name, Prerequisite
TotallyGeeky, reallyGeeky
reallyGeekly, somethingGeeky

提前致谢,

4

4 回答 4

1

您需要将 tableA两次加入 table B。第一列第一次,第二列第二次:

select a1.name, a2.name
   from b
      inner join a a1
         b.id = a1.id
      inner join a a2
         b.prerequisiteID = a2.id
于 2012-08-18T01:52:46.403 回答
1
SELECT x.Name AS Name, y.Name AS Prerequisite FROM B
INNER JOIN A x ON B.ID = x.ID
INNER JOIN A y ON B.prerequisiteID = y.ID
于 2012-08-18T01:53:08.687 回答
1

您只需将关系表与属性表连接两次。下面的例子:

SELECT
  A1.Name
  ,A2.Name as PrerequisiteName
FROM
  RelationsTable R
  JOIN
  Attributes A1 ON
    (A1.Id = R.Id)
  JOIN
  Attributes A2 ON
    (A2.Id = R.PrerequisiteId)
于 2012-08-18T01:54:14.737 回答
1

这应该有效:

SELECT  a.Product_ID, b.brand_name
FROM    `product` a 
            INNER JOIN  `brand` b
                ON a.brand_id = b.brand_ID
于 2012-08-18T02:18:11.170 回答