简体   繁体   English

带IN子句的MySQL子查询

[英]MySQL subquery with IN clause

This query works fine: 此查询工作正常:

SELECT country_name FROM countries WHERE country_id IN (23,86,79)

so I can get the list of countries' name based on those country_id. 这样我就可以基于这些country_id获取国家名称列表。 But what I want is to get them with a subquery like: 但是我想要的是使用子查询来获取它们,例如:

SELECT country_name  FROM countries WHERE country_id IN (SELECT office_id FROM countries WHERE country_code='FRA')

I can get the first name of the office Id and not all (in this case should be 4). 我可以获得办公室ID的名字,但不是全部(在这种情况下应为4)。 The office_id and country_id are Int. office_id和country_id为Int。 Any helps? 有帮助吗?

why do you need such wrong/long turn query. 为什么您需要这样的错误/转弯查询。 your posted query (below) with subquery 您发布的查询(如下)与子查询

SELECT country_name 
FROM countries 
WHERE country_id IN ( SELECT office_id 
                      FROM countries 
                      WHERE country_code='FRA' )

Can be simpliy 可以简单

SELECT country_name 
FROM countries 
WHERE country_code='FRA';

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM