实表如下 :日期        本地总量  外地总量  本地有效量  外地有效量   医院
2012-1-7      1000      2000      800         1500       医院A
2012-1-7      2000      3000      1500         2500      医院B
2012-1-6       1500      1000       1000        800      医院A
2012-1-6        3000      3000       1500       1800     医院B
虚表是通过对一个表执行一条sql语句得到的 
sql语句->select 
    日期=convert(varchar(10),Time,120),count(1) as 预约总数,
    到诊数量=sum(case when PatientStatus='复诊' or PatientStatus='初诊' then 1 else 0 end),
    到诊率=ltrim(sum(case when PatientStatus='复诊' or PatientStatus='初诊' then 1 else 0 end)*100/count(1))+'%'
from Orders group by convert(varchar(10),Time,120)
虚表的datagridview数据看到的样子如下->日期           预约数量      到诊数量      到诊率   医院
2012-1-7          100          50            50%    医院A
2012-1-7          100          71            71%    医院B
2012-1-6          100          50            50%    医院A
2012-1-6          100          88            88%    医院B
..
....
我要的最终的datatridviw呈现的结果如下日期       医院      本地总量  外地总量  本地有效量  外地有效量     预约数量   到诊数量   到诊率
2012-1-7    医院A     1000      2000      800         1500           100          50      50% 
2012-1-7    医院B     2000      3000      1500         2500          100          71      71%
2012-1-6    医院A     1500      1000       1000        800           100           50      50%
2012-1-6    医院B     3000      3000       1500       1800            100         88        88%
希望高手指点!!

解决方案 »

  1.   

    实虚两个表,都取出来,dataset可以
    循环一个主表,
    添加到一个新的datatable
    绑定
      

  2.   

    datatable.Columns.add()
    想怎么构造就怎么构造
    构造好了填数就行了
      

  3.   

    将表和视图再联合起来查询形成一个新的DataSet
      

  4.   

    看样子日清是关键字段,用LEFT JOIN ON……应该可以实现得到一个数据集。
      

  5.   

    把2个表读取出来存入一个datatable。
      

  6.   

    应该不需要在Datatable中处理。做一个视图View存放虚表数据,然后再用select inner join关联取出数据便可。
    ---------
    店家乐免费服装管理软件|服装销售管理软件|服装进销存软件|服装收银软件|服装店管理软件
      

  7.   

    感谢各位回复  结贴了 
    最后采取了用一个长sql语句取到两表的full jion  然后读到程序进行处理!