如何组合来自不同表格的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中执行它(我倾向于在SQL语句中执行它)?
*我更喜欢使用某种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