我们可以使用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;
再次感谢您的帮助!
答案 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