可是数量怎么相加呢,我用的是lambda
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 14:05
@淘@淘:
namespaceConsoleApplication1
{classProgram
{static void Main(string[] args)
{
List l = new List{new St{Name="A",Num=3,Yue="一月"},new St{Name="B",Num=2,Yue="一月"},new St{Name="A",Num=5,Yue="一月"},new St{Name="B",Num=2,Yue="一月"},new St{Name="A",Num=2,Yue="二月"},new St{Name="B",Num=1,Yue="二月"},new St{Name="A",Num=2,Yue="二月"}
};var q = l.GroupBy(e => new{ e.Name, e.Yue })
.Select(
g=>
new{
客户名称=g.Key.Name,
数量= g.Sum(e =>(Int32)(e.Num)),
日期=g.Key.Yue,
}
);foreach (var item inq)
{
Console.WriteLine(item.客户名称+ "----" + item.数量 + "----" +item.日期);
}
}
}classSt
{public string Name { get; set; }public int Num { get; set; }public string Yue { get; set; }
}
}
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 14:37
@淘@淘:
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 14:39
@淘@淘: 数量那里不用强制转换(Int32)也可以
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 14:41
@芒果の冰: 不行啊,有没有好的方法啊,在视图里能实现的Sum求和
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 14:45
@淘@淘:
select 客户名称,sum(num) as数量,日期from 表 group by 客户名称,日期
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 14:50
@芒果の冰: 你看我的视图语句:
SELECT CONVERT(datetime, CONVERT(varchar(20), dbo.Rec_SalesOrder.AutitDate, 111)) AS AutitDate, SUM(dbo.Rec_SalesOrder_Sub.Quantity)
AS TotleQuantity, dbo.Mer_Package.Barcodes, dbo.Mer_Product.UserCode, dbo.Mer_Product.Name, dbo.Mer_Package.ProductID,
dbo.Rec_SalesOrder.StoresID
FROM dbo.Rec_SalesOrder INNER JOIN
dbo.Rec_SalesOrder_Sub ON dbo.Rec_SalesOrder.ID=dbo.Rec_SalesOrder_Sub.ParentID INNER JOIN
dbo.Mer_Package ON dbo.Rec_SalesOrder_Sub.PackageID=dbo.Mer_Package.ID INNER JOIN
dbo.Mer_Product ON dbo.Mer_Package.ProductID=dbo.Mer_Product.ID
GROUP BY dbo.Rec_SalesOrder.OrderStatus, dbo.Mer_Package.Barcodes, dbo.Mer_Product.UserCode, dbo.Mer_Product.Name, CONVERT(datetime,
CONVERT(varchar(20), dbo.Rec_SalesOrder.AutitDate, 111)), dbo.Rec_SalesOrder.StoresID, dbo.Mer_Package.ProductID
HAVING (dbo.Rec_SalesOrder.OrderStatus= 0)
是有的 可是就是查出来都是分着的
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 14:55
@淘@淘: 太乱了 看不出来查出来是什么样的 也没有表结构
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 15:07
@芒果の冰:
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 15:14
@淘@淘: 你肯定是有的列值不同 才没有办法 group by 的
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 15:17
@芒果の冰: 什么意思,
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 15:21
@淘@淘: 你列不同值太多了 sql不知道与哪列合并
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 15:53
@芒果の冰: 那像这样的我怎么才能在视图里去掉不用的“分组依据”呢,我只要去掉一个就都去掉了
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 16:06
@芒果の冰: 而且我前边的有查询条件,去掉“分组依据”就会报错了
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 16:09
@淘@淘: 你现在视图查出来是正确的
就好比你的 AutitDate 每行都不同 你让SQL怎么为你分组
AutitDate相同了Barcodes又不同了 没法给你划分到一起
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 16:14
@芒果の冰: 可是我现在不想根据那些分组,我只想根据ProductId这列分组,我要怎么办呢
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 16:15
@淘@淘:
去掉多余的列
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 16:17
@芒果の冰: 那我别的列是需要显示的啊
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 16:19
@淘@淘:
就你这四行数据 就算合并到一起 你AutitDate 要显示哪行的 TotleQuantity 要显示哪行的呢
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 16:23
@芒果の冰:
我的AutitDate 不显示,然后相同的TotleQuantity累加,根据ProductID分组
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 16:27
@淘@淘:
充值金额 充值人 银行
26 张三 工商银行
24 张三 农商银行
现在我将两行合并得出 : 张三 充值了 50 元
此时页面上还要显示他这50元是从哪个银行冲的,你说你怎么显示
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 16:27
@芒果の冰: 那就不显示银行嘛 就显示他冲50元
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 16:30
@淘@淘: 对啊 那你就不显示那些列啊 不就可以了
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 16:44
@芒果の冰: 可是那时要求显示的列啊
淘@淘
|
园豆:582
(小虾三级)
|
2013-05-17 16:47
@淘@淘: 你这不自相矛盾吗
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 17:01
@淘@淘:
充值金额 充值人 银行
26 张三 工商银行
24 张三 农商银行
现在我将两行合并得出 : 张三 充值了 50 元
现在老板要求显示50元是从哪个银行冲的
芒果の冰
|
园豆:187
(初学一级)
|
2013-05-17 17:07