日期:2014-05-17  浏览次数:20880 次

怎么合并表数据
表结构为  单号(外键)、开始日期、结束日期、预测量,
把一个单号的数据作为基准,找出其他单号中跟它开始日期和结束日期相同的,将数据综合起来,产生一个新的表,如下:
开始日期、结束日期、预测量(基准)、预测量(其他单号)
这种怎么实现?
表?综合

------解决方案--------------------
先把两表数据提取出来,存在泛型集合内,再创建一张表,遍历泛型集合内的数据。
------解决方案--------------------
                // 返回的datatable
                DataTable dtTableNeeds = dsMN.Tables[0].Clone();
                // 原datatable
                DataTable dtTable = dsMN.Tables[0];

                for (int i = 0; i < dsMN.Tables[0].Rows.Count; i++)
                {
                    decimal count = 0;
                    // 根据主键去查找
                    string sql = "CHD_PRDCT_CD='" + dsMN.Tables[0].Rows[i]["CHD_PRDCT_CD"].ToString() + "' and START_DATE='" +
                            dsMN.Tables[0].Rows[i]["START_DATE"].ToString() + "'";

                    // 找不到的时候
                    if (dtTableNeeds.Select(sql).Length == 0)
                    {
                        // 原datatable中查找
                        DataRow[] rows = dtTable.Select(sql);

                        // 取到第一行的数量
                        count = Convert.ToDecimal(rows[0]["ROHJZCLNUM"].ToString());

                        // 查找到多行数据
                        for (int j = 1; j < rows.Length; j++)
                        {