1

次のクエリがあります。

select user_name as rt, 
      (select source_user_name from tweets t where t.rt_user_name = u.user_name)
from topUserData u

現在、MySQL は、サブクエリが複数の行を返すというエラーを表示しています。ただし、ここで必要なのは、この 1 対多の関係です。たとえば、user_name が james で、サブクエリが返された場合 (Linda、Bob、Suzanna、Sandy、Tom)、データを次のように表示したいと思います。

ジェームズ・リンダ

ジェームズ・ボブ

ジェームズ・スザンナ

ジェームズ・サンディ

ジェームズ・トム

私が持っているものからこの機能を取得するにはどうすればよいですか? これは内部結合に似ていることもわかりますが、サブクエリの観点から答えが必要です。すべての助けに感謝します。

4

2 に答える 2

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
于 2012-12-28T03:06:21.443 に答える
0

左結合を使用できます

select user_name , source_username from topUserData u left join tweets t on t.rt_user_name = u.user_name
于 2012-12-28T03:07:35.563 に答える