为了账号安全,请及时绑定邮箱和手机立即绑定

你如何在mysql中加入同一个表,两次?

你如何在mysql中加入同一个表,两次?

潇湘沐 2019-09-03 09:04:04
你如何在mysql中加入同一个表,两次?我有2张桌子。一个(域)具有域ID和域名(dom_id,dom_url)。另一个包含实际数据,其中2个列需要TO和FROM域名。所以我有两列rev_dom_from和rev_dom_for,两者都存储域表中的域名id。简单。现在我需要在网页上实际显示两个域名。我知道如何通过LEFT JOIN域ON review.rev_dom_for = domains.dom_url查询显示其中一个,然后你回显出dom_url,它将回显rev_dom_for列中的域名。但是我如何让它在dom_rev_from列中回显出第二个域名呢?
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

你会使用另一个连接,这些都是这样的:

SELECT toD.dom_url AS ToURL, 
    fromD.dom_url AS FromUrl, 
    rvw.*FROM reviews AS rvwLEFT JOIN domain AS toD 
    ON toD.Dom_ID = rvw.rev_dom_forLEFT JOIN domain AS fromD 
    ON fromD.Dom_ID = rvw.rev_dom_from

编辑

您所做的只是多次加入表格。查看帖子中的查询:它从Reviews表中选择值(别名为rvw),该表为您提供了2个对Domain表的引用(FOR和FROM)。

此时,将Domain表连接到Reviews表是一件简单的事情。一次(别名为D)表示FOR,第二次(别名为D)表示FROM。

然后在SELECT列表中,您将从DOMAIN表的两个LEFT JOINS中选择DOM_URL字段,通过每个参与Domains表引用的表别名引用它们,并将它们别名为ToURL和FromUrl。



查看完整回答
反对 回复 2019-09-10
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

阅读本文并尝试,这将有助于您:

表格1

column11,column12,column13,column14

表2

column21,column22,column23,column24SELECT table1.column11,table1.column12,table2asnew1.column21,table2asnew2.column21 
FROM table1 INNER JOIN table2 AS table2asnew1 ON table1.column11=table2asnew1.column21  INNER TABLE table2 as table2asnew2 ON table1.column12=table2asnew2.column22

table2asnew1 是表2的一个实例,它与之匹配 table1.column11=table2asnew1.column21

table2asnew2 是表2的另一个实例,它与之匹配 table1.column12=table2asnew2.column22



查看完整回答
反对 回复 2019-09-10
  • 3 回答
  • 0 关注
  • 503 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信