我正在努力完成某些事情,但我有点像菜鸟,并且不知道这是否可以在一个查询中完成。
我有两个看起来像这样的表:
表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 ,这意味着此链接属于比利时和俄罗斯( id_country 5 表2 与这些国家/地区相关联)
我的想法是,在将几个 link_ids 传递给mysql查询后,我可以获得类似的内容:
如何使用一个查询并且只传递 link_ids ?谢谢!
答案 0 :(得分:2)
SELECT link_id, country
FROM table1 links
INNER JOIN table2 countries ON links.target_country = countries.id_country
答案 1 :(得分:1)
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。
答案 2 :(得分:1)
SELECT
table2.country
FROM
table1,
table2
WHERE
table2.country_id = table1.target_country AND
table1.target_country = 5;
确保你确实在table2上有一个主索引 - 如果country_id不是唯一的,则country_id不能是主索引!
答案 3 :(得分:1)
SELECT t2.country, t1.link_id
FROM table_1 t1, table_2 t2
WHERE t1.target_country = t2.id_country