首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql中对同一个表进行两次连接?

如何在mysql中对同一个表进行两次连接?
EN

Stack Overflow用户
提问于 2008-10-14 03:41:24
回答 3查看 121.8K关注 0票数 112

我有两张桌子。一个(域)具有域ids和域名(dom_id、dom_url)。

另一个包含实际数据,其中2列需要域名的收件人和发件人。因此,我有两个列rev_dom_from和rev_dom_for,这两个列都存储了域表中的域名id。

很简单。

现在我需要在网页上实际显示这两个域名。我知道如何通过左连接domain ON reviews.rev_dom_for = domains.dom_url查询显示其中之一,然后回显dom_url,这将回显rev_dom_for列中的域名。

但是我如何让它在dom_rev_from列中回显出第二个域名呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-14 03:43:45

您可以使用另一个连接,如下所示:

代码语言:javascript
复制
SELECT toD.dom_url AS ToURL, 
    fromD.dom_url AS FromUrl, 
    rvw.*

FROM reviews AS rvw

LEFT JOIN domain AS toD 
    ON toD.Dom_ID = rvw.rev_dom_for

LEFT JOIN domain AS fromD 
    ON fromD.Dom_ID = rvw.rev_dom_from

编辑__:

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

此时,将Domain表左连接到Reviews表是一件很简单的事情。一次(别名为toD)用于FOR,第二次(别名为fromD)用于FROM。

然后,在选择列表中,您将从域表的两个左侧联接中选择DOM_URL字段,通过引用Domains表的每个联接的表别名来引用它们,并将它们的别名命名为ToURL和FromUrl。

有关SQL中别名的更多信息,请阅读here

票数 177
EN

Stack Overflow用户

发布于 2008-10-14 05:04:09

给出下表..

代码语言:javascript
复制
Domain Table
dom_id | dom_url

Review Table
rev_id | rev_dom_from | rev_dom_for

尝试此sql...(这与Stephen Wrighton在上面写的差不多)诀窍在于,您基本上是在同一查询中从域表中选择两次并连接结果。

代码语言:javascript
复制
Select d1.dom_url, d2.dom_id from
review r, domain d1, domain d2
where d1.dom_id = r.rev_dom_from
and d2.dom_id = r.rev_dom_for

如果你仍然被卡住了,请更具体地说明你不明白的地方。

票数 8
EN

Stack Overflow用户

发布于 2013-02-09 14:35:03

阅读这篇文章并尝试一下,这将对你有所帮助:

Table1

代码语言:javascript
复制
column11,column12,column13,column14

Table2

代码语言:javascript
复制
column21,column22,column23,column24


SELECT 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是与table1.column11=table2asnew1.column21匹配的表2的一个实例

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/199953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档