【发布时间】:2013-03-23 02:46:08
【问题描述】:
我在这个查询中遇到错误:
SELECT i.name, i.surname, (SELECT u.username FROM user u WHERE u.info_id IN (1,9,10,15,25,40,42,43,44)) as email FROM `userinfo` i WHERE i.id IN (1,9,10,15,25,40,42,43,44)
错误:
基数违规:1242 子查询返回多于 1 行
我知道这可以通过使用 JOIN 语句来解决,但我不知道如何解决。
为了进一步澄清我的问题,我有两个表,用户和用户信息:
用户
id info_id username
用户信息
id name surname
user 中的 info_id 行与userinfo 的 id 相关,因此有一个这种格式的用户信息 id 列表 (1,4,7,8,9) 我想要姓名和姓氏(来自 @987654326 @) 和 user 中匹配 info_id 的用户名
【问题讨论】:
-
(SELECT u.username FROM user u WHERE u.info_id IN (1,9,10,15,25,40,42,43,44))返回多于一项,无法处理。