【问题标题】:SQL -SSMS- bringing data from one table to another [duplicate]SQL -SSMS-将数据从一个表带到另一个[重复]
【发布时间】:2018-10-09 14:45:50
【问题描述】:

我需要帮助来弄清楚如何合并两个表中的数据并将这些数据放入一个新表中。联合将不起作用,因为这两个表的列数不同。

第一个表列名是:

Code, Description, V21, V22, V05, 2018Payment, CM2018Payment, Rx2018Payment

第二个表列名是:

Code, Description, V21, V22, V23, V05, 2019Payment, V22_2019Payment, V23_2019Payment, Rx2019Payment

有人有什么建议吗?

【问题讨论】:

  • 编辑您的问题以包含表格的详细信息,每列的每个带有 cmets 的 DDL 应该为我们提供足够的信息来提供帮助。
  • 请注明设计细节。

标签: sql sql-server tsql


【解决方案1】:

您仍然可以使用union

insert into newtable (col1, col2, col3, col4)
    select t1.col1, t1.col2, t1.col3, null as col4
    from table1 t1
    union all
    select t2.col1, null, t2.col3, t2.clo4
    from table2 t2;

但是,在这里您只需要确保类型对话。

【讨论】:

  • 我在上面的示例查询之后使用了 UNION ALL,它给了我一条错误消息:使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询必须在其目标列表中具有相同数量的表达式。
  • @snoosan,检查顶部和底部查询中的列数是否相同。数数就行了。
猜你喜欢
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
相关资源
最近更新 更多