select 表一.项目编号,表一.项目名称,count(表二.项目编号) as 参与人数 from 表一, 表二 where 表一.项目编号=表二.项目编号 group by 表一.项目编号,表一.项目名称
--至于那个页脚的合计,不是SQL处理的了,delphi里面应该有这样的控件的(本身的datagrid好像没有这个功能),建议到delphi板块去问问.
--至于那个页脚的合计,不是SQL处理的了,delphi里面应该有这样的控件的(本身的datagrid好像没有这个功能),建议到delphi板块去问问.
from 表一, 表二
where 表一.项目编号=表二.项目编号
group by 表一.项目编号,表一.项目名称
union all
select (select count(*) from 表一)
,(select count(distinct(人员名称)) from 表二)
,(select count(distinct(人员名称)) from 表二)/(select count(*) from 表一)
项目名称=(select 表一.项目名称 from 表一 where 表一.项目编号=a.项目编号),
a.YS,a.pro_sum,a.ys_sum,vag=a.ys_sum/a.pro_sum
from
(
select base.项目编号,base.YS,
pro_sum=(select count(表一.项目编号) from 表一),
ys_sum=(select sum(表二.人数) from 表二)
from
(
select 表一.项目编号,sum(表二.人数) as YS
from 表一
left join 表二
on 表一.项目编号=表二.项目编号
group by 表一.项目编号
) as base
) as a