我在datatable中有以下格式的数据
DATA IN TABLE:
DEVICEID PRODUCTCODE MONTH NO QTY VENDAMT
----------- ----------- ----------- ------------------- ---- -------
2032 100 06 9 270
2032 101 06 4 120
2032 102 06 1 30
2032 100 07 10 300
2032 101 07 8 240
2032 102 07 9 270
我想在C#
中使用LINQ查询以下列格式显示它 DEVICEID PRODUCTCODE JUN_QTY JUN_AMT JUL_QTY JUL_AMT
----------- ----------- ----------- ------------------- ---- -------
2032 100 9 270 10 300
2032 101 4 120 8 240
2032 102 1 30 9 270
我尝试了这个查询:
var query2 = from p in tempDt222.AsEnumerable()
select new {
DEVICEID= p.Field<Int32>("DEVICEID"),
PRODUCTCODE = p.Field<String>("PRODUCTCODE"),
JAN_QTY = (p.Field<String>("MONTH_NO") == "01" ? p.Field<Int32>("QTY") : 0),
JAN_AMT = (p.Field<String>("MONTH_NO") == "01" ? p.Field<Int32>("VENDAMT") : 0),
...
DEC_AMT = (p.Field<String>("MONTH_NO") == "12" ? p.Field<Int32>("VENDAMT") : 0)
};
提前致谢。
答案 0 :(得分:0)
你需要在你的月份没有专栏申请GroupBy。
然后,您需要编写一些代码来格式化输出,以便行中的月份数值显示为文本列标题。