SELECT * ,
(SELECT ZoneName
FROM zone_message_master
WHERE ZoneID = zoneid) 'ZoneName'
FROM zone_master
WHERE ZoneID=zoneid;
这是在存储过程中运行的查询,我收到错误
Subquery returns more than 1 row
谁能告诉我我在这里做错了什么?
最佳答案
What I have done wrong here?
你得到的错误非常清楚。子查询必须恰好返回一行,您可以使用 ORDER BY ... LIMIT 1
限制行数。
How can I fix that?
您不需要子查询,直接JOIN
这两个表,如下所示:
SELECT z.ZoneId, zm.ZoneName
FROM zone_message_master zm
INNER JOIN zone_master z ON zm.ZoneId = z.ZoneId
关于mysql - 我的sql错误子查询返回超过1行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12834388/