【问题标题】:SQL multiples unpivotSQL 倍数 unpivot
【发布时间】:2015-01-05 11:42:43
【问题描述】:

我在使用多个 unpivot 时遇到了一些困难,并且还尝试了 APPLY。 所以假设我有:

[name]   [Type1name]  [Type2name]  [Region1] [region2]  [Type1valu] [type2value] 
abc       car          bike            US        JP       500         300
def       car          boat            US        UK       150         200
ghi       boat         *null*          BR        *null*    50          *null*

now I want to aggregate [Type1name] + [Type2name] and [Region1] + [Region2] on same columns and values in each respective line:

[name]  [Typename]  [Region] [Value]
abc     car            US     500
abc     bike           JP     300
def     car            US     150  
def     boat           UK     200
ghi     boat           BR     50

【问题讨论】:

  • SQL 什么?你试过什么?
  • 在问题中添加迄今为止您尝试过的内容

标签: sql select union transpose unpivot


【解决方案1】:

试试这个:

SELECT A.name, A.Type1name AS Typename, A.Region1 AS Region, A.Type1value AS 'Value'
FROM tableA A 
WHERE A.Type1name IS NOT NULL
UNION ALL 
SELECT A.name, A.Type2name AS Typename, A.Region2 AS Region, A.Type2value AS 'Value'
FROM tableA A
WHERE A.Type2name IS NOT NULL;

【讨论】:

  • 简单完美,tnks
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多