本帖最后由 woaini1xiaoxiong1 于 2009-06-11 12:51:47 编辑

解决方案 »

  1.   

    select 市场名称,
    isnull(sum(case when 产品类型='产品1' then (上午+下午) end ),0) as '产品1',
    isnull(sum(case when 产品类型='产品2' then (上午+下午) end ),0) as '产品2',
    isnull(sum(case when 产品类型='产品3' then (上午+下午) end ),0) as '产品3',
    送货日期
    from #T group by 市场名称,送货日期
      

  2.   

    我觉得还是用SQL先拼成另一张表然后再填充,可以用存储过程啊
      

  3.   

    string ss="data source=.;database=dd;uid=sa;";     // 连接数据库
    SqlConnection sql=new SqlConnection(ss);
    sql.Open();string sel="select mc,";                            // 连接查询字符
    sel = sel + "isnull(sum(case when lx='产品1' then (am+pm) end ),0) as '产品1',";
    sel = sel + "isnull(sum(case when lx='产品2' then (am+pm) end ),0) as '产品2',";
    sel = sel + "isnull(sum(case when lx='产品3' then (am+pm) end ),0) as '产品3',"; 
    sel = sel + "dDate from tab group by mc,dDate";SqlDataAdapter myada =new SqlDataAdapter(sel,sql); 
    DataSet mySet= new DataSet("0");
    myada.Fill(mySet,"0");dataGrid1.DataSource = mySet.Tables["0"];           //改成datagridview
    sql.Close();
      

  4.   

    首先,按市场,日期,类型分组,得出:
    市场名称   产品类型  送货日期 统计信息(上午+下午)语句实现:
    select 市场名称, 产品类型,送货日期,sum(上午+下午) 统计信息 from pro group by 市场名称,送货日期,产品类型
    得出一个结果集
    如果还不会弄,无语了.主要还是在SQL的逻辑上.怎么分组统计