正在合并具有不同架构的表中的数据



对于报表,我们需要合并两个不同模式的SQL Server数据库表。我试过

SELECT ControlRec FROM MercerReportTable
UNION
SELECT * FROM MercerReportTableMod 
ORDER BY orderby ASC

但是这和JOIN会导致以下错误:

所有使用UNION、INTERSECT或EXCEPT运算符组合的查询的目标列表中的表达式数必须相等。

我认为这意味着它不会合并,因为表不同。

一定有办法;有人能帮忙吗?我在这里搜索了合并表,但这些帖子对我没有帮助。

谢谢!

所有使用UNION、INTERSECT或EXCEPT运算符组合的查询都必须在其目标列表中具有相同数量的表达式。

这是因为在使用以下SQL时,列数不相同。

SELECT ControlRec
FROM MercerReportTable
UNION
SELECT *
FROM MercerReportTableMod
ORDER BY orderby ASC

请尝试以下内容:

SELECT ControlRec
FROM MercerReportTable
UNION
SELECT ControlRec
FROM MercerReportTableMod
ORDER BY orderby ASC

编辑:

另一种方法是指定空列以匹配其他表中的列数,注意默认的空字符串/varchars"和默认的整数bits&日期例如:

SELECT ControlRec, '', '', '', '', '', 0, '', '2021/03/29', ''
FROM MercerReportTable
UNION
SELECT *
FROM MercerReportTableMod
ORDER BY orderby ASC

相关内容

  • 没有找到相关文章

最新更新