mysql将多列数据插入一列

mysql将多列数据插入一列,mysql,insert,left-join,Mysql,Insert,Left Join,嗨,我有这样的mysql查询 Select postid, user_id , qfav.userid, qfeed.userid, qview.userid from post_words as qw left join (Select userid, postid as postidfav from post_favorite) as qfav on qfav.questidfav=qw.questid left join (Select userid, questi

嗨,我有这样的mysql查询

Select  postid, user_id , qfav.userid, qfeed.userid, qview.userid  
from post_words as qw 
left join (Select userid, postid as postidfav  from post_favorite) as  qfav 
    on qfav.questidfav=qw.questid 
left join (Select userid, questid as questidfeed from post_feedback) as  qfeed 
    on qfeed.questidfeed=qw.questid 
left join (Select userid, questid as questidview from post_stats_view) as qview 
    on qview.questidview=qw.questid 
where qw.word='stackoverflow';
结果

questid user_id  userid  userid userid

 100       4       3      null    5
  25       1       4       8      6
 200       76      7       21     23
如何将列值插入到另一个表中

userids
   4
   3
   null
   5
   1
   4
   8
   6
  76
   7
  21
  23

有什么建议吗?谢谢

首先,让我们去掉所有不必要的子查询,使查询更加标准:

Select  postid, user_id , qfav.userid, qfeed.userid, qview.userid  
from post_words as qw 
left join post_favorite as qfav 
    on qfav.questidfav=qw.questid 
left join post_feedback as qfeed
    on qfeed.questidfeed=qw.questid 
left join post_stats_view as qview
    on qview.questidview=qw.questid 
where qw.word='stackoverflow';
然后,我们将使用
UNION
将所有
userid
列合并到一个列中,并在前面添加一个INSERT:

INSERT INTO SomeTable (userid) 
Select  userid
  from post_words as qw 
  where qw.word='stackoverflow'
UNION
Select  qfav.userid
  from post_words as qw 
  left join post_favorite as qfav 
    on qfav.questidfav=qw.questid 
  where qw.word='stackoverflow'
UNION
Select  qfeed.userid
  from post_words as qw 
  left join post_feedback as qfeed
    on qfeed.questidfeed=qw.questid 
  where qw.word='stackoverflow'
UNION
  Select  qview.userid  
  from post_words as qw 
  left join post_stats_view as qview
    on qview.questidview=qw.questid 
  where qw.word='stackoverflow';
也许有一些方法可以避免做
qw.word='stackoverflow'
4次,但是现在我没有灵感

确保您的
SomeTable
不需要唯一的
user\u id

另外请注意,您在
user\u id
userid
之间有点不一致-我开始清理它,然后意识到它实际上可能在您的表中,因此您可能需要对我的清理做一点清理