基于其他数据库(同一服务器)上的联接在数据库上创建表

时间:2016-10-10 09:59:42

标签: mysql sql

我们可以使用join操作在数据库上创建一个表(在示例中称为DB1),基于来自Database另一个数据库的两个表(在示例中称为DB2)?如果是,那怎么办?

两个数据库都在同一台服务器上,而DBMS是相同的。 ID1和ID2基于DB2中的table1; ID1和Name基于DB2中的table2

这是我尝试过的(但它不起作用)从观点来看,我使用的是DB1:

INSERT INTO table3 (ID1,ID2,Name)
SELECT ID1,ID2, DB2.table2
FROM DB2.table1;
LEFT JOIN DB2.table2
    ON ID1=ID1;

再次感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我认为您应该在查询中使用正确的别名:

INSERT INTO table3 (ID1, ID2, Name)
SELECT t1.ID1, t1.ID2, t2.Name
FROM DB2.table1 t1
LEFT JOIN DB2.table2 t2
    ON t1.ID1 = t2.ID1

答案 1 :(得分:1)

你可以在创建表的同时插入记录:

CREATE TABLE table3 AS
SELECT t1.ID1, t1.ID2, t2.Name
FROM DB2.table1 t1
LEFT JOIN DB2.table2 t2
    ON t1.ID1 = t2.ID1