SQL:我如何(或可以)选择多个列并与另一列相关联

时间:2012-08-18 01:45:27

标签: sql

我仍然是SQL的开销者,我无法找到完成以下任务的方法。

在表A中我有以下内容。

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

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

Id, prerequisiteID
3, 2
2, 1

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

所以,它会显示为......

Name, Prerequisite
TotallyGeeky, reallyGeeky
reallyGeekly, somethingGeeky

提前致谢,

4 个答案:

答案 0 :(得分:1)

您需要将表A两次加入表B。第一列是第一列,第二次是第二列:

select a1.name, a2.name
   from b
      inner join a a1
         b.id = a1.id
      inner join a a2
         b.prerequisiteID = a2.id

答案 1 :(得分: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

答案 2 :(得分:1)

您只需要将Relationship表与Attributes表连接两次。示例如下:

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)

答案 3 :(得分:1)

这应该有效:

SELECT  a.Product_ID, b.brand_name
FROM    `product` a 
            INNER JOIN  `brand` b
                ON a.brand_id = b.brand_ID