小编Fil*_*ank的帖子

SQL Server 2008垂直数据为水平

我为提交关于这个主题的另一个问题而道歉,但我已经阅读了很多这方面的答案,我似乎无法让它为我工作.

我有三个表需要加入并提取信息.其中一个表只有3列并垂直存储数据.我想将这些数据转换为横向格式.

如果我只是加入并拉动,数据将如下所示:

SELECT 
   a.app_id, 
   b.field_id, 
   c.field_name,
   b.field_value 
FROM table1 a
JOIN table2 b ON a.app_id = b.app_id
JOIN table3 c ON b.field_id = c.field_id  --(table3 is a lookup table for field names)
Run Code Online (Sandbox Code Playgroud)

结果:

app_id  |  field_id  |   field_name   |  field_value
-----------------------------------------------------
 1234   |    101     |    First Name  |     Joe  
 1234   |    102     |     Last Name  |     Smith
 1234   |    105     |       DOB      |   10/15/72
 1234   |    107     |  Mailing Addr  |   PO BOX 1234
 1234   |    110     |      Zip …
Run Code Online (Sandbox Code Playgroud)

sql-server transpose pivot

14
推荐指数
1
解决办法
4万
查看次数

标签 统计

pivot ×1

sql-server ×1

transpose ×1