通过删除重复列来创建新表,从而连接mysql中的2个表

通过删除重复列来创建新表,从而连接mysql中的2个表,mysql,join,union,create-table,union-all,Mysql,Join,Union,Create Table,Union All,可用数据 表1的名称:“表1” 联接表1的列:“column1” 表1的其他列:未知 表2的名称:“表2” 联接表2的列:“column2” 表2的其他列:未知 任务:通过基于table1.column1=table2.column2连接两个表table1和table2来创建新表。新表应包含表1和表2的所有列,且不包含重复列(新表的架构应类似于表1和表2的组合架构)。而且它应该只有满足上述条件的行 我所尝试的: CREATE TABLE newtable AS ( SELECT * F

可用数据

表1的名称:“表1”

联接表1的列:“column1”

表1的其他列:未知

表2的名称:“表2”

联接表2的列:“column2”

表2的其他列:未知

任务:通过基于table1.column1=table2.column2连接两个表table1和table2来创建新表。新表应包含表1和表2的所有列,且不包含重复列(新表的架构应类似于表1和表2的组合架构)。而且它应该只有满足上述条件的行

我所尝试的

CREATE TABLE newtable AS ( 
    SELECT * FROM table1, table2 
    WHERE table1.column1=table2.column2
)
我得到的结果:如果所有列都是唯一的,我将得到上述查询的正确结果。但是如果有同名的列,我会得到一个错误:列'column3'被多次指定,因为column3在这两个表中都很常见。主要的问题是我不会得到表1或表2的模式

请提供一个查询,以便在创建新表时删除重复的列(如上面提到的“column3”)。也接受一个完整的新查询

我试过了,但没用


提前感谢

您需要编写动态SQL,从
信息\u SCHEMA.COLUMNS
中获取所有列名,并删除重复项。普通查询无法做到这一点。