![](/img/trans.png)
[英]How to map rows of two tables to each other based on the relevance in MySQL?
[英]How to match part of rows in different tables with each other in MySQL?
我有一个名为“ urls”的表,其中包含不同国家的域名,如下所示:
Domain
Paypal.com
wellsfargo.co.uk
sparkasse.fe.de
等等...
我还有另一个名为“国家”的表,其中包含tlds及其相关国家,如下所示:
tld country
nl netherlands
de germany
uk united kingdom
etc...
我不知道如何创建一个匹配项,以便能够从“ URL”表中的域中提取“ country”表中的国家/地区名称。有人可以帮助我吗?
使用以下JOIN
条件联接两个表:
ON ( country.tld = RIGHT(urls.domain, CHAR_LENGTH(tld)) )
请注意,如果存在这样的索引,则该查询无法在urls.domain
使用索引。 我将在插入单独的列(在urls
)时预先计算urls.domain
的顶级域。 在此新列上设置索引,并在您的JOIN
条件下使用此列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.