我的数据库是这样的,来自两个数据库中的表
库D中表A : 设备状态表 字段: { mineid --区域id … } 数据: { 1,1,1,2,2 }
库C中表B : 区域表 字段: { minecode --区域ID area --区域名称 … } 数据: { 1 河南 ,2 北京 }
库D表A中筛选出来如下数据 {1,1,1,2,2}
而我想要的是以下的格式:
河南(3),北京(2)
数字代表的个数,下边的代码块中就是处理方法
var area = "";
datatable dt = new datatable();
var query = from t in 库D中查询出来的.AsEnumerable()
group t by new { t1 = t.Field<string>("mineid") } into m
select new
{
MineID = m.Key.t1,
count = m.Count()
};
area = "'(";
foreach (var q in query)
{
string sql = "select area from (库C) where mineCode = '" + q.MineID + "'";
DataTable dtS;
using (MAction action = new MAction(sql, conStrBase))
{
dtS = action.Select();
area += "" + dtS.Rows[0]["area"] + "(" + q.count + "),";
}
}
if (area.Length > 2)
area = area.Substring(0, area.Length - 1) + ")'";
else
area = "''";
最后输出出来的结果就是 河南(3),北京(2) 这种
|