mysql - 帮助子查询!返回多于 1 行

标签 mysql sql mysql-error-1242

我不明白返回多行的问题:

这是我的 table BBC:

name    region  area    population  gdp
Afghanistan South Asia  652225  26000000    
Albania Europe  28728   3200000 6656000000
Algeria Middle East 2400000 32900000    75012000000
Andorra Europe  468 64000   
Angola  Africa  1250000 14500000    14935000000
etc.............................

问题:

List the name and region of countries in the regions containing 'India', 'Iran'.

这是我的声明:

select name from bbc where region = (select region from bbc where name='India' or name='Iran')

它返回:

sql: errorSubquery returns more than 1 row

我的说法有什么问题吗?答案应该采用选择语句中的选择语句的形式

谢谢!

最佳答案

这是因为您正在尝试将 region 与值表进行比较。相反,请尝试使用 in:

select name 
from bbc 
where region in 
    (select region from bbc where name='India' or name='Iran')

关于mysql - 帮助子查询!返回多于 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2419094/

相关文章:

php - 如何创建 "All edits are tracked"

php MySQL 应该可以工作

sql - 如何获取行的最后更改时间戳?

mysql - 通过从另一个表 MySQL 查询中选择数据来更新表

mysql - SQL 函数 : Get next value in row

php - date_format 和 datetime 中的 sql 查询错误

sql - 在 SQL Server 中将 NULL 转换为空字符串

php - Mysql 查询 : error that says subquery returns more than 1 row

mysql - Django子查询问题 "Subquery returns more than 1 row"

mysql - 有什么方法可以从 MySQL 中一行中的值中选择唯一值?