linq行转列

小小骨头 2014-11-24 01:39:24


想转换成

month 动力用电 商业用电 特殊用电 广告用电 空调用电
2014-11 1234 12345 12345 12345 1234
...全文
846 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
DL6DL 2016-06-01
  • 打赏
  • 举报
回复
功能实现了嘛?
梦在旅途 2014-11-25
  • 打赏
  • 举报
回复
以下是我写的LINQ语句,我没有验证,你可以自行验证,至少思路是这样的

from tt in
(from t in table group t by t.month into gp
select new{month=gp.Key,动力用电=gp.Sum(t=>t.electricityName=="动力用电"?t.electricityQty:0,
商业用电=gp.Sum(t=>t.electricityName=="商业用电"?t.electricityQty:0),
特殊用电=gp.Sum(t=>t.electricityName=="特殊用电"?t.electricityQty:0),
广告用电=gp.Sum(t=>t.electricityName=="广告用电"?t.electricityQty:0),
空调用电=gp.Sum(t=>t.electricityName=="空调用电"?t.electricityQty:0)}) //括号里面是先产生行列
group tt by tt.month into gptt
select new{month=gptt.Key,动力用电=gptt.Sum(tt=>tt.动力用电), 商业用电=gptt.Sum(tt=>tt.商业用电),
特殊用电=gptt.Sum(tt=>tt.特殊用电),广告用电=gptt.Sum(tt=>tt广告用电),空调用电=gptt.Sum(tt=>tt.空调用电)}; //合计后就OK了
梦在旅途 2014-11-25
  • 打赏
  • 举报
回复
引用 4 楼 q107770540 的回复:
参考我的blgo: LINQ TO SQL 实现行转列 http://blog.csdn.net/q107770540/article/details/6270693
这个方法可行,但建议涉及复杂的查询还是使用传统的SQL语句会比较好。
q107770540 2014-11-24
  • 打赏
  • 举报
回复
参考我的blgo: LINQ TO SQL 实现行转列 http://blog.csdn.net/q107770540/article/details/6270693
蝶恋花雨 2014-11-24
  • 打赏
  • 举报
回复
http://blog.csdn.net/smartsmile2012/article/details/8259192 LinQ实现DataTable不定行转列 行列转换,有图
蝶恋花雨 2014-11-24
  • 打赏
  • 举报
回复
先写出SQL行转列的语句 再转LINQ http://topic.csdn.net/u/20091013/15/9f058df7-4d29-47bf-a338-b63fcab2abc0.html?87808 http://www.cnblogs.com/li-peng/archive/2012/02/27/2370213.html
l2999019 2014-11-24
  • 打赏
  • 举报
回复
先查出你那个数据,然后丢到一个集合里面,然后以这个集合为列

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧