mysql - 合并 2 个表 - 子查询返回多于 1 行

标签 mysql sql join phpmyadmin

当我加入 2 个表时出现错误

select * from picture where id=(SELECT id FROM user where age= 40 ) 

#1242 - Subquery returns more than 1 row

连接这 2 个大数据表的最佳方法是什么?我想要所有的结果

最佳答案

=替换为IN

select * from picture where id in (select id from user where age = 40) 

请注意,这只是“半连接”两个表,即您只会得到图片作为结果,而不是图片-用户关系。如果你真的想做后者,那么你必须 inner join 这两个表:

select * from picture p
join user u on p.id = u.id -- are you sure about this join condition?
where u.age = 40

关于mysql - 合并 2 个表 - 子查询返回多于 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10584738/

相关文章:

mysql - 将最新时间与同一行中的正确数据分组

mysql - SQL LIKE 用于数字搜索

mysql - 计数左连接

MySQL限制从头到尾的查询

php - 无法从数组中将字符插入 mysql 列

mysql 根据第一个字母进行搜索

sqlite 选择查询

sql - 如何清理 C 或 Objective-C 中的数据库输入?

mysql - 哪个更好 : has_one(single column table) or a string column?

sql - 尝试显示Using Sum() with JOIN 未提供正确的输出