先用查询语句合并多个相同的数据表(其中 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 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的平均值?
解决方案 »
- Idhttp Post数据后投票显示未登陆
- 动态菜单 动态和静态speedbutton 关联action1
- 为什么Delphi测试程序时,程序运行超慢???
- 新手问题:我要使一个TEdit控件变为灰色(不可编辑),应该怎么设置属性?Enable=false和readonly=false都不能变灰
- SQLDataSet里面的记录是“Y”的,全要在DBGrid中显示成“是”!
- 有人需要毕业设计吗?
- mdi
- 为什么access中,添加记录给排在最后,而不是按我设的主键进行排序,关闭后,再打开,才能看到记录已按主键排序?参与者有分。
- 一个报表打印问题,简单,简单,确实简单.
- 请求高手帮忙!究竟出了什么问题 ?如何释放DLL 中的MDI 窗体 及DLL
- Delphi5下如何复制Excel的DataSheet?
- intraweb with tms
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
我要的是表1中的data1 表2中的data1 表3中的data1 的平均我要的是表1中的data2 表2中的data2 表3中的data2 的平均我要的是表1中的data3 表2中的data3 表3中的data3 的平均
再建一个存储过程 proc_abc
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GOCREATE procedure proc_abc
ASdelete from tmp111insert into tmp111
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 TEST3insert into tmp111
select 99999,'',avg(data1),avg(data2),avg(data3)select * from tmp111GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
调用:
adoquery1.close;
adoquery1.sql.text:= 'exec proc_abc';
adoquery1.open;