我仍然是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
提前致谢,
答案 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