我有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中的别名的更多信息,请阅读此处。