oOracleConn.Open();
string select;
select = "select ymd,sum(stoptim) as sum ,devid "
+"from dev_bandata "
+"group by ymd,devid";
OracleDataAdapter da = new OracleDataAdapter(select, oOracleConn); DataSet ds = new DataSet();
System.Data.DataTable sum_table = new System.Data.DataTable(); //添加一个表sum_table
da.Fill(ds, "sum_table"); select = "select devid ,devname from dev_bandata ";
da = new OracleDataAdapter(select, oOracleConn);
System.Data.DataTable name_table = new System.Data.DataTable();
da.Fill(ds, "name_table"); select = "select ymd,sum,devname from sum_table,name_table where sum_table.devid=name_table.devid";
da = ????? //这里应该怎么写?
System.Data.DataTable result_table = new System.Data.DataTable();
da.Fill(ds, "result_table");首先问问我这种思路是否可行?
我查了相关问题,好像可以用一条sql语句来完成,不过我觉得可读性不高。
我是新手,请多帮忙。
string select;
select = "select ymd,sum(stoptim) as sum ,devid "
+"from dev_bandata "
+"group by ymd,devid";
OracleDataAdapter da = new OracleDataAdapter(select, oOracleConn); DataSet ds = new DataSet();
System.Data.DataTable sum_table = new System.Data.DataTable(); //添加一个表sum_table
da.Fill(ds, "sum_table"); select = "select devid ,devname from dev_bandata ";
da = new OracleDataAdapter(select, oOracleConn);
System.Data.DataTable name_table = new System.Data.DataTable();
da.Fill(ds, "name_table"); select = "select ymd,sum,devname from sum_table,name_table where sum_table.devid=name_table.devid";
da = ????? //这里应该怎么写?
System.Data.DataTable result_table = new System.Data.DataTable();
da.Fill(ds, "result_table");首先问问我这种思路是否可行?
我查了相关问题,好像可以用一条sql语句来完成,不过我觉得可读性不高。
我是新手,请多帮忙。
select a.devname,b.ymd,b.sum from dev_bandata a,(select ymd,sum(stoptim) as sum,devid from dev_bandata group by ymd,devid) b where a.devid=b.devid
就是想对DataSet中的两个表进行联合查询。
而我又不太想用51Crack(无忧)的方法。
http://topic.csdn.net/t/20020418/14/657290.html
//你以前的工作是将数据集放在内存中,在运行web的服务器中
//可能和数据服务器都不在一台机器上了
select = "select ymd,sum,devname from sum_table,name_table where sum_table.devid=name_table.devid";
//所以你这样想直接再填充无论如何时都不可能成功
da = ????? //这里应该怎么写?
System.Data.DataTable result_table = new System.Data.DataTable();
da.Fill(ds, "result_table");
//如果一定想这样做,来让我们想想我们有的是什么,我们需要的是什么
//我们在web服务器上有两个dataset ,我们想要的是另一个table可以从sum_table克隆一个结构,加入新的字段,然后将两个表的记录一条条插入
如果sum_table不会在后面被使用,那么可以直接给它新加一个字段,然后一条条更新记录
无论如何,这都不是一个好主意,好多orm支持关系映射,但我个人并不喜欢这样,关系型数据库的优点在于它是"关系型的"首先问问我这种思路是否可行?
我查了相关问题,好像可以用一条sql语句来完成,不过我觉得可读性不高。
我是新手,请多帮忙。///其实真的更好的解决办法是使用tans-sql直接体现它们的关系并解决现在有两个结果集
select ymd,sum(stoptim) as sum ,devid
from dev_bandata
group by ymd,devidselect devid ,devname
from dev_bandata
看看两个表现在是什么关系
它们来自一个数据表
可能是一对一映射/一对多/多对一/多对多
从你的原文中也看不出关系
我们假设是一对一的
那么
简单的改一下select ymd,sum(stoptim) as sum ,devid,devname
from dev_bandata
group by ymd,devid,devname
即可