SQL:将类似的表(不同的列顺序,不同的字段名称)合并为一个

时间:2017-03-03 22:45:30

标签: mysql merge

我有3个包含类似信息的文件,尽管每个文件都有自己的格式,列顺序,字段名称...... 我想将这3个表合并为一个,以便能够对整个表进行分析。 我首先尝试使用SQL Workbench导入向导导入文件直接执行此操作,将源文件中的每个字段分配到目标表中,但这不起作用。 所以现在,我已经在SQL中完全导入了3个表,并希望将它们合并。

离。

  • 表1:日期,名称,金额,利率
  • 表2:贷款日期,贷款名称,贷款金额,利息

想合并到:

  • Sourcefile(表示数据是否来自表1或2),
  • 日期字段(使用表1中的日期或表2中的贷款日期),
  • 名称字段(使用表1中的名称或表2中的贷款名称),
  • 金额字段(使用金额或贷款金额),
  • 利率字段(使用利率或利息)

关于我如何做到这一点的任何指导?

2 个答案:

答案 0 :(得分:1)

使用UNION组合两个表:

CREATE TABLE CombinedTable AS
SELECT 'Table 1' AS `source file`, date, name, amount, `interest rate`
FROM Table1
UNION ALL
SELECT 'Table 2', `loan date`, `loan name`, `loan amount`, interest
FROM Table2

答案 1 :(得分:0)

你可以尝试

Insert into table3 (srcTable, Date, Name, Amount, InterestRate)
(Select 'table1' as srcTable, Date, Name, Amount, InterestRate from Table1)
Union
(Select 'table2' as srcTable, LoanDate, LoanName, LoanAmount, Interest from Table2)

其中table3是具有指定字段的新表