0

重要な構造にデータを入力するには、SQL クエリが必要です。例として以下のテーブルがあるとします。SQL サーバー 2008 でクエリが必要です。

ID|EMAIL|Name|Region|Catergory
1|a@a.com|A|AMERICA|PP 
2|b@b.com|B|EMEA|CC 
3|c@c.com|C|APAC|PP 
4|d@d.com|D|APAC|DD 
5|E@c.com|E|EMEA|CC 
6|E@d.com|ED|UNKNOW|CC 

以下のピボット構造テーブルを取得する方法はありますか。以下は、上記のテーブルから得たい結果をカウントしたものです。

Category|AMERICAS|EMEA|APAC|UNKNOW 

PP|1|0|0|0 
CC|0|2|0 
DD|0|0|1|0 
4

2 に答える 2

1

これを試してみてください -

DECLARE @temp TABLE
(
     ID INT, 
     Name CHAR(2), 
     Region VARCHAR(10), 
     Catergory CHAR(2)
)

INSERT INTO @temp (ID, Name, Region, Catergory)
VALUES 
     (1, 'A', 'AMERICA', 'PP'), 
     (2, 'B', 'EMEA', 'CC'), 
     (3, 'C', 'APAC', 'PP'), 
     (4, 'D', 'APAC', 'DD'), 
     (5, 'E', 'EMEA', 'CC'), 
     (6, 'ED', 'UNKNOW', 'CC')

SELECT *
FROM (
     SELECT Name, Region, Catergory 
     FROM @temp
) src
PIVOT (
     COUNT(Name) 
     FOR Region IN (AMERICAS, EMEA, APAC, UNKNOW)
) pvt

出力 -

Catergory AMERICAS    EMEA        APAC        UNKNOW
--------- ----------- ----------- ----------- -----------
CC        0           2           0           1
DD        0           0           1           0
PP        0           0           1           0
于 2013-07-29T12:28:50.550 に答える