再问二次查询,该怎么解决

再问二次查询先用查询语句合并多个相同的数据表(其中 id name 相同)select id,name,data1,data2,data3 fro

再问二次查询
先用查询语句合并多个相同的数据表(其中 id name 相同)
select id,name,data1,data2,data3 from TEST1 
UNION select id,name,data1,data2,data3 from TEST2
UNION select id,name,data1,data2,data3 from TEST3

接下来
如何分组(id)查询 data1,data2,data3的平均值?

或者不用先合并,如何查询 data1,data2,data3的平均值?

[解决办法]
select id,name,data1,data2,data3,avg(data1+data2+data3) as avgdata from TEST1 
UNION select id,name,data1,data2,data3,avg(data1+data2+data3) as avgdata from TEST2
UNION select id,name,data1,data2,data3,avg(data1+data2+data3) as avgdata from TEST3
[解决办法]
建个临表tmp111 (结构只有id,name,data1,data2,data3)
再建一个存储过程 proc_abc

SQL code
SET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOCREATE    procedure proc_abc ASdelete from tmp111insert into tmp111select id,name,data1,data2,data3 from TEST1 UNION select id,name,data1,data2,data3 from TEST2UNION select id,name,data1,data2,data3 from TEST3insert into tmp111 select 99999,'',avg(data1),avg(data2),avg(data3)select * from tmp111GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO