Mysql 从两个表的并集向新表插入数据

Mysql 从两个表的并集向新表插入数据,mysql,database,mysql-workbench,Mysql,Database,Mysql Workbench,我有一个下面的查询,它包含两个表Table1和table2 ResultSet res = st.executeQuery(" select user_id, movie_Id, movie_name, user_name, rating, genre from Table1 union all select t1.user_id, t2.movie_Id, t2.movie_name, t2.user_name, t2.rating, t2.genre from Table2 t2 join

我有一个下面的查询,它包含两个表Table1和table2

ResultSet res = st.executeQuery(" select user_id, movie_Id, movie_name, user_name, rating, genre from Table1 union all select t1.user_id, t2.movie_Id, t2.movie_name, t2.user_name,  t2.rating, t2.genre from Table2 t2 join Table1 t1 on t2.user_name = t1.user_name;");
输出--

现在,我希望我应该将这个值插入表3,但只插入电影Id、用户Id和评级

即 电影id int 用户Id int 额定值varchar

如何为以下内容编写查询


谢谢

使用
插入到。。。选择…

INSERT INTO table3(movie_id, user_id, rating)
SELECT movie_id, user_id, rating
FROM
(
    SELECT movie_Id, user_id, rating
    FROM Table1 
    UNION ALL
    SELECT t2.movie_id, t1.user_id, t2.rating
    FROM Table2 t2 
    JOIN Table1 t1 ON t2.user_name = t1.user_name
) AS t;

@vishal1985-您可以从mysql工作台的sql编辑器:或phpmyadmin或命令提示符:执行它,
user_Id movie_Id    rating
1   12      7   
2   4       7   
3   5       2   
4   9       5   
5   9       8   
6   68      4   
1   249     0   
2   356     0   
2   423     0   
2   391     0   
2   739     0   
4   451     5   
5   9       0   
5   216     0   
5   344     0   
5   387     0   
5   249     0   
6   9       0   
6   216     0   
6   344     0   
6   387     0   
6   249     0   
INSERT INTO table3(movie_id, user_id, rating)
SELECT movie_id, user_id, rating
FROM
(
    SELECT movie_Id, user_id, rating
    FROM Table1 
    UNION ALL
    SELECT t2.movie_id, t1.user_id, t2.rating
    FROM Table2 t2 
    JOIN Table1 t1 ON t2.user_name = t1.user_name
) AS t;