通过删除重复列来创建新表,从而连接mysql中的2个表
可用数据 表1的名称:“表1” 联接表1的列:“column1” 表1的其他列:未知 表2的名称:“表2” 联接表2的列:“column2” 表2的其他列:未知 任务:通过基于table1.column1=table2.column2连接两个表table1和table2来创建新表。新表应包含表1和表2的所有列,且不包含重复列(新表的架构应类似于表1和表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
CREATE TABLE newtable AS (
SELECT * FROM table1, table2
WHERE table1.column1=table2.column2
)
我得到的结果:如果所有列都是唯一的,我将得到上述查询的正确结果。但是如果有同名的列,我会得到一个错误:列'column3'被多次指定,因为column3在这两个表中都很常见。主要的问题是我不会得到表1或表2的模式
请提供一个查询,以便在创建新表时删除重复的列(如上面提到的“column3”)。也接受一个完整的新查询
我试过了,但没用
提前感谢您需要编写动态SQL,从
信息\u SCHEMA.COLUMNS
中获取所有列名,并删除重复项。普通查询无法做到这一点。