0

次のような経費テーブルがあります。

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
.
.
4

2 に答える 2

0

多くのカテゴリがあるようですが、グループ化をお探しですか?

select worksheet, category, sum(cost) from DataTablegroup by worksheet, category order by worksheet
于 2013-03-13T20:52:59.390 に答える