如何两次关联同一表,将Referrals表的ID映射为Resources表的URL?
解决方案:两次关联Resources表映射URL
没问题,这是个典型的多次关联同一张表的场景,咱们只需要给Resources表取不同的别名,分别关联Referrals里的SourceID和ReferralID就行。直接看实现的SQL语句:
SELECT r1.URL AS SourceURL, r2.URL AS ReferralURL FROM Referrals ref JOIN Resources r1 ON ref.SourceID = r1.ID JOIN Resources r2 ON ref.ReferralID = r2.ID;
代码细节解释:
- 给
Resources表分别取别名r1和r2,用来区分两次关联的数据源:r1对应来源ID的映射:把Referrals.SourceID和r1.ID匹配,拿到对应的SourceURLr2对应推荐ID的映射:把Referrals.ReferralID和r2.ID匹配,拿到对应的ReferralURL
- 执行这条SQL后,会直接输出你期望的结果:
SourceURL | ReferralURL ----------|------------ a.com | a.com a.com | c.com c.com | a.com
内容的提问来源于stack exchange,提问作者user828679
相关产品推荐
相关产品推荐

