WEB开发网
开发学院数据库MSSQL Server SQL之行列互变问题 阅读

SQL之行列互变问题

 2008-11-21 10:11:03 来源:WEB开发网   
核心提示: 上面是列变行,下面我们来演示行变列,SQL之行列互变问题(3),(以下数据表存储各个门店岗位编制情况,[102],[3645]等即是列名,又是分店ID)Duty_Id[102][3645] [4374] [4375] [4508] [4668] [5074]1026 5 4 4 4

上面是列变行,下面我们来演示行变列。(以下数据表存储各个门店岗位编制情况,[102],[3645]等即是列名,又是分店ID)

Duty_Id[102]   [3645] [4374] [4375] [4508] [4668] [5074]
1026    5       4       4       4       4       4       4  
1043    2       1       1       1       1       0       1  
1065    1       1       1       1       1       0       1  
1074    2       2       2       2       2       2       2  
1077    1       1       1       1       1       1       1  
1079    1       1       1       1       1       1       1  
1080    27      26      24      23      20      22      22  
1081    30      28      26      25      22      22      24  

要将上表旋转成一下形式

Duty_Id     Store_Id     Qty
1026       102        5
1026       3645       4
1026       4374       4
1026       4375       4

运行以下代码即可(该代码只适合SQL2005)

Select Duty_id,Store_Id,Qty
from Employee_Counts
Unpivot(Qty for Store_Id in (
[102],[3645],[4374],[4375],[4508],[4668],[5074]
)
) as p

上一页  1 2 3 

Tags:SQL 行列 问题

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接