我正在尝试完成某事,但是我有点菜鸟,也不知道是否可以在一个查询中完成。

我有两个看起来像这样的表:

表格1:

link_id    target_country
-------------------------
1          5
2          3


表2:

id_country   country
-------------------------
5            Belgium
5            Russia
2            USA


因此,根据上面的数据,link_id 1的target_country为5,这意味着此链接属于比利时和俄罗斯(因为表2中的id_country 5与这些国家/地区链接)

我的想法是,在将几个link_ids传递给mysql查询后,我可以获得以下内容:


比利时=> 1(因为比利时链接的link_id为1)
俄罗斯=> 1(此link_id 1也属于俄罗斯)
美国=> 2


如何通过一个查询并且仅通过传递link_ids来做到这一点?谢谢!

最佳答案

SELECT country, link_id
FROM table_2
INNER JOIN table_1
ON table_2.id_country = table_1.target_country
WHERE table_1.link_id IN (1, 2);


这是标准的JOIN

10-05 20:34