我有一个费用表像分组值的总和:创建/附加表中不同类别
WorkWeek Catg Item Cost
WorkWeek1 Cat1 Item1 Price
WorkWeek1 Cat1 Item2 Price
WorkWeek1 Cat1 Item3 Price
WorkWeek1 Cat1 Item4 Price
WorkWeek1 Cat2 Item1 Price
WorkWeek1 Cat2 Item5 Price
WorkWeek1 Cat2 Item6 Price
WorkWeek1 Cat3 Item1 Price
WorkWeek1 Cat3 Item5 Price
.
.
WorkWeekA CatB ItemC Price
这是我正在做它现在:
select top(1)
(select sum(cost) from DataTable where Catg like 'Cat1') as Cat1TotalCost
,(select sum(cost) from DataTable where Catg like 'Cat2') as Cat2TotalCost
,(select sum(cost) from DataTable where Catg like 'Cat3') as Cat3TotalCost
.
.
.
.
from DataTable where WorkWeek like 'WorkWeek1'
而且如果我不使用top 1
,然后我得到相同数目的重复数千行。另外,我的做法仅占1个工作周。 :(
我想每一个工作周总费用根据每个类别像创建一个表:
WorkWeek1 Cat1TotalCost Cat2TotalCost Cat3TotalCost
WorkWeek2 Cat1TotalCost Cat2TotalCost Cat3TotalCost
.
.
欢迎来到SO。你能编辑你的文章并在底部添加你的问题吗?我可以弄明白,但没有明确说明。 – PowerUser 2013-03-13 20:36:35
你有没有定义数量的类别? – 2013-03-13 20:42:01
是的,我会的。大约有2500只猫,它们可能会增加更多。 另外,Catgs列当前有catg_num,另外还有一个包含相应catg_names的表。我实际上想用一些连接来获取catg_names。 – camelbrush 2013-03-13 22:51:19