原始问题不清楚所以我修改了问题并再次询问
原始问题:How to combine records from different tables?
同一工作簿中有两个工作表具有相同的结构 - 相同的字段名称。
例如:
表1
form_title
表2
- Officer name mkt
- s15 peter 15
- s17 mary 18
- S32 tom 42
- S32 tom 89
现在我使用ADO在excel-vba中运行sql。没有DBMS。我只是在excel工作表上运行并粘贴。
- Officer name mkt
- s56 jason 55
- s31 alex 34
- S54 gee 45
现在我想合并这两个表记录并稍后再选择。
这意味着:
表3
select officer ,name ,sum(mkt) from [$table1]
然后进行选择(SQL)。
- Officer name mkt
- s15 peter 15
- s17 mary 18
- S32 tom 42
- S32 tom 89
- s56 jason 55
- s31 alex 34
- S54 gee 45
能否在SQL或VBA中执行它(我更喜欢在SQL语句中执行它)?
*我更喜欢使用某种SQL技术来执行它。像联盟表这样的东西?但是连接表只加入不同表中的列。现在我想加入行*
正如人们建议使用 select officer ,name ,sum(mkt) from [$table3] group by officer
我试试
union all
它出现SELECT office, name, sum(mkt)
FROM(
SELECT *
FROM [$table1]
UNION ALL
SELECT *
FROM [$table2]
) as table3
GROUP BY officer
答案 0 :(得分:0)
您可以使用temptable或CTE(公用表表达式)或使用JOINs
不是Temptable:
create table #tablename(columname datatype)
CTE:
with ctename as (select columns from tablename)
JOINS:
select columnname
from table1 t1
left join table2 t2 on t1.commonecolumnname=t2.commoncolumnname
答案 1 :(得分:0)
我认为这可能会对你有所帮助
SELECT Officer, name, sum(mkt) FROM (
SELECT Officer,name,mkt FROM [$table1]
UNION ALL
SELECT Officer,name,mkt
FROM [$table2]
) as table3
GROUP BY officer,name