您如何在mysql的同一张表上两次连接?
我有2张桌子。一个(域)具有域ID和域名(dom_id,dom_url)。
另一个包含实际数据,其中2列需要TO和FROM域名。所以我有2列rev_dom_from和rev_dom_for,它们都存储来自domains表的域名ID。
简单。
现在,我需要在网页上实际显示两个域名。我知道如何通过LEFT JOIN域名显示reviews.rev_dom_for =
domains.dom_url查询来显示一个或另一个,然后回显dom_url,它会回显rev_dom_for列中的域名。
但是,如何使它在dom_rev_from列中回显第二个域名?
回答:
您将使用另一个联接,类似于以下内容:
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表即可。FOR一次(别名为toD),FROM另一次(别名fromD)。
然后,在SELECT列表中,您将从DOMAIN表的两个LEFT
JOINS中选择DOM_URL字段,并为每个引用Domains表的联接使用表别名来引用它们,并将它们作为ToURL和FromUrl进行别名。
有关SQL中的别名的更多信息,请阅读此处。
以上是 您如何在mysql的同一张表上两次连接? 的全部内容, 来源链接: utcz.com/qa/416728.html