select 日期,a.产品代号,本日生产数量,累计生产数量 from
(select 日期,产品代号,sum(生产数量) as 本日生产数量 from tbname where 日期='4-5' group by 日期,产品代号) as a
join (select 产品代号,sum(生产数量) as 累计生产数量 from tbname group by 产品代号) as b on a.产品代号=b.产品代号
(select 日期,产品代号,sum(生产数量) as 本日生产数量 from tbname where 日期='4-5' group by 日期,产品代号) as a
join (select 产品代号,sum(生产数量) as 累计生产数量 from tbname group by 产品代号) as b on a.产品代号=b.产品代号
create table T (编号 int, 日期 varchar(10), 公司编号 int , 产品代号 varchar(10) , 生产数量 int)
insert T select
1 , '4-4', 1, 'CNN10', 1 union all select
2 , '4-4' , 1 , 'CNN20' , 1 union all select
3 , '4-4' , 2 , 'CNN10' , 1 union all select
4 , '4-4' , 2 , 'CNN20' , 1 union all select
5 , '4-5' , 1 , 'CNN10' , 1 union all select
6 , '4-5' , 1 , 'CNN20' , 1 union all select
7 , '4-5' , 2 , 'CNN10' , 1 union all select
8 , '4-5' , 2 , 'CNN20' , 1select * from T
select
日期,
产品代号,
[本日生产数量] = sum(isnull(生产数量,0)) ,
[累计生产数量] = (select sum(isnull(生产数量,0)) from T a where a.产品代号 = b.产品代号 )
from T b
where
日期 ='4-5'
group by 日期,产品代号drop table T
编号 日期 公司编号 产品代号 生产数量
----------- ---------- ----------- ---------- -----------
1 4-4 1 CNN10 1
2 4-4 1 CNN20 1
3 4-4 2 CNN10 1
4 4-4 2 CNN20 1
5 4-5 1 CNN10 1
6 4-5 1 CNN20 1
7 4-5 2 CNN10 1
8 4-5 2 CNN20 1--------
日期 产品代号 本日生产数量 累计生产数量
---------- ---------- ----------- -----------
4-5 CNN10 2 4
4-5 CNN20 2 4
只能用4.0x以下的版本
我也没有用过Dephi不过搜了一下,发现很多人都是用ADO+ODBC另外在sourceforge.net上有一个dbexpress的开源项目,不知道行不行