我有两个表,我需要在第一个表中查询同一列两次,对于第二个表中的两个列,并从第一个表返回第二个数据列。
所以,
表1:资源
ID, URL
1, a.com
2, b.com
3, c.com
表2:推介
SourceID, ReferralID
1, 1
1, 3
3, 1
我需要结果;
SourceURL, ReferralURL
a.com, a.com
a.com, c.com
c.com, a.com
答案 0 :(得分:1)
您需要两次加入表格
select r1.URL as SourceURL, r2.URL as ReferralURL
from Referrals r
inner join Resources r1 on r.SourceID = r1.ID
inner join Resource r2 on r.referalID = r2.ID
答案 1 :(得分:1)
您需要连接两次才能获得结果(首先获取源网址,然后获取引荐网址)
SELECT
RES1.URL AS SourceURL
,RES2.URL AS ReferralURL
FROM Referrals REF
INNER JOIN Resources RES1
ON REF.SourceID = RES1.ID
INNER JOIN Resources RES2
ON REF.ReferralID = RES2.ID