我有以下查询:
select user_name as rt,
(select source_user_name from tweets t where t.rt_user_name = u.user_name)
from topUserData u
现在MySQL给我一个错误,说子查询返回多行。但是,我想要的是这种一对多的关系。例如,如果user_name是james并返回子查询(Linda,Bob,Suzanna,Sandy,Tom),那么我希望数据显示为:
詹姆斯琳达 詹姆斯鲍勃James Suzanna
詹姆斯桑迪 詹姆斯汤姆如何从我拥有的功能中获得此功能?我也看到这类似于内连接,但我想要一个子查询的答案。感谢所有帮助。
答案 0 :(得分:2)
我认为在这种情况下你需要INNER JOIN
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 as rt, source_user_name
from topUserData u
INNER JOIN
(
select DISTINCT source_user_name
from tweets t
) ON t.rt_user_name = u.user_name
答案 1 :(得分:0)
您可以使用左连接
select user_name , source_username from topUserData u left join tweets t on t.rt_user_name = u.user_name