0

これを機能させる方法がわかりません...次のようにデータを返さなければなりません

 Vendor1, sum(field1), sum(field2), sum(field3), sum(field4)...
 Vendor2, sum(field1), sum(field2), sum(field3), sum(field4)...
 Vendor3, sum(field1), sum(field2), sum(field3), sum(field4)...
 Vendor4, sum(field1), sum(field2), sum(field3), sum(field4)...

しかし、私のデータはそのように返され続けます

 Vendor1, field1, field2, filed3 field4...
 Vendor1, field1, field2, filed3 field4...
 Vendor1, field1, field2, filed3 field4...
 Vendor1, field1, field2, filed3 field4...

ここに私がこれまでに持っているものの少しがあります

select substring(a.warehouse, 2, len(a.warehouse)) as 'Name of Vendor',
 Case 
 when b.status = 3 then
 sum(b.id) over (partition by substring(a.warehouse, 2, len(a.warehouse)))
 else 0
 End as 'Number of Orders',
 Case 
 when b.status = 4 then
 sum(b.P_Name) over (partition by substring(a.warehouse, 2, len(a.warehouse)))
 else 0
 End as 'Number of Items'
 from [Table1]a
 join [Table2]b
 on a.OrderID = b.OrderID

示されているものと同様のことを行う追加のケースステートメントがいくつかあります。

私が知らないのはhow to pivot this as a grouping.

物事を明確に説明したことを願っています。事前にご協力いただきありがとうございます。

4

1 に答える 1

0

select ステートメント全体を別の SELECT で囲み、次に GROUP BY で囲みます。すなわち:

SELECT a.[Name of Vendor], sum(a.[Number of Orders]), sum(a.[Number of Items]), ...
FROM
(
    select substring(a.warehouse, 2, len(a.warehouse)) as 'Name of Vendor',
    Case 
    when b.status = 3 then
    ...
) AS a
GROUP BY a.[Name of Vendor]
于 2012-09-07T06:30:37.810 に答える