如何查询出这样的效果,求思路
业务编号币别金额
A0001RMB102.00
A0001RMB144.00
A0001RMB1030.00
A0002RMB231.00
A0002USD244.00
A0002USD123.00
A0003RMB111.00
A0003USD222.00
A0003RMB333.00
A0003USD222.00
想要这样的效果
业务编号币别金额
A0001RMB102.00
A0001RMB144.00
A0001RMB103.00
小计349.00
A0002RMB231.00
小计231.00
A0002USD244.00
A0002USD123.00
小计367.00
A0003RMB111.00
A0003RMB333.00
小计444.00
A0003USD222.00
A0003USD222.00
小计444.00
struct Unit
{
string ID,
string Currency,
float Subtotal
}
class A
{
public List<Business> list{get;set;}
public Unit unit{get;set;}
}
from item in list
group by new{item.ID,item.Currency}
into g
select new A
{
list=new List<Business>(),
unit=new Unit(g.Key.ID,g.Key.Currency,sum(g=>g.Amount))
}
SELECT * FROM (SELECT [业务编号],[币别],SUM([金额]) FROM [Table] GROUP BY [业务编号],[币别]) AS T JION [Table] AS D ON T.[业务编号] = D.[业务编号] AND T.[币别] = D.[币别]
SELECT * FROM (SELECT [业务编号],[币别],SUM([金额]) FROM [Table] GROUP BY [业务编号],[币别]) AS T JOIN [Table] AS D ON T.[业务编号] = D.[业务编号] AND T.[币别] = D.[币别]