MySQL子查询返回多个行和内部联接
我有以下疑问:MySQL子查询返回多个行和内部联接,mysql,subquery,inner-join,Mysql,Subquery,Inner Join,我有以下疑问: select user_name as rt, (select source_user_name from tweets t where t.rt_user_name = u.user_name) from topUserData u 现在MySQL告诉我一个错误,子查询返回多行。然而,我想要的是一对多的关系。例如,如果用户名是james,子查询返回(Linda、Bob、Suzana、Sandy、Tom),那么我希望数据显示为: 詹姆斯·琳达 詹姆斯·鲍勃 詹姆斯
select user_name as rt,
(select source_user_name from tweets t where t.rt_user_name = u.user_name)
from topUserData u
现在MySQL告诉我一个错误,子查询返回多行。然而,我想要的是一对多的关系。例如,如果用户名是james,子查询返回(Linda、Bob、Suzana、Sandy、Tom),那么我希望数据显示为:
詹姆斯·琳达
詹姆斯·鲍勃
詹姆斯·苏珊娜
詹姆斯·桑迪
詹姆斯·汤姆
如何从现有功能中获得此功能?我还看到这类似于内部连接,但我希望答案是子查询。非常感谢您的帮助。在这种情况下,我想您需要
内部连接
SELECT a.user_name as RT,
b.source_user_name
FROM topUserData a
INNER JOIN tweets b
ON a.user_name = b.rt_user_name
或者(实际上不需要子查询,因为内部没有任何特殊操作)
可以使用左连接
select user_name , source_username from topUserData u left join tweets t on t.rt_user_name = u.user_name
这里不需要左连接。有没有办法通过子查询来实现这一点?是的。但我认为你想要一些东西,但你没有把它添加到你的问题上。基本上你想做什么,为什么你想要子查询<代码>:D
是的,我解决了我的问题。我确实希望解决方案以子查询的形式出现。子查询返回错误,因为它返回了许多记录。无论如何,我已经更新了答案。
select user_name , source_username from topUserData u left join tweets t on t.rt_user_name = u.user_name