如何组合来自不同表格的logging?

同一个工作簿中有两个工作表具有相同的结构相同的字段名称。

例如 :

表格1

- Officer name mkt - s15 peter 15 - s17 mary 18 - S32 tom 42 - S32 tom 89 

表2

 - Officer name mkt - s56 jason 55 - s31 alex 34 - S54 gee 45 

现在我正在使用ADO在excel-vba中运行sql。

 select officer ,name ,sum(mkt) from [$table1] 

现在我想结合这两个表格logging,稍后再select。

这意味着:

表3

 - Officer name mkt - s15 peter 15 - s17 mary 18 - S32 tom 42 - S32 tom 89 - s56 jason 55 - s31 alex 34 - S54 gee 45 

然后再进行select(SQL)。

  select officer ,name ,sum(mkt) from [$table3] 

它是否能够在SQL或VBA中执行它(我倾向于在S​​QL语句中执行它)?

*我更喜欢使用某种SQL技术来执行它。 像连接表? 但连接表只能连接不同表中的列。现在我想连接行*

您可以使用公用表expression式将表合并为一个,然后执行合计和。 我正在使用SET NOCOUNT ON; 因为我之前在excel中遇到过这个问题。 两个表之间的完整外连接也可以工作。

 SET NOCOUNT ON; WITH CTE AS ( SELECT * FROM [$table1] UNION ALL SELECT * FROM [$table2] ) SELECT office, name, sum(mkt) FROM CTE GROUP BY office, name 

你也可以尝试没有CTE:

 SELECT office, name, sum(mkt) FROM( SELECT * FROM [$table1] UNION ALL SELECT * FROM [$table2] ) GROUP BY office, name 
  select officer ,name ,sum(mkt) from table1 union all select officer ,name ,sum(mkt) from table2