Mysql 从两个表的并集向新表插入数据
我有一个下面的查询,它包含两个表Table1和table2Mysql 从两个表的并集向新表插入数据,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
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;