SQL 服务器通过将列映射为键值对来反透视数据
SQL Server Unpivot the data by mapping the columns as Key Value pairs
我需要映射两列中的值来映射值-
需要做UnPivot的原始数据截图:
示例-
S1 S1Date
S2 S2Date
S3 S3Date
S4 S4Date
数据-
Cricket 2018-04-07 20:45:22.387
FootBall 2018-04-08 20:45:22.387
TableTennis 2018-04-09 20:45:22.387
Badminton 2018-04-10 20:45:22.387
我尝试了 unpivot,但不确定如何映射多列。请协助。
我会使用 apply
:
select v.*
from t cross apply
(values (s1, s1date), (s2, s2date), (s3, s3date), (s4, s4date)) v(col, dte);
unpivot
做了一件非常具体的事情——我认为甚至不值得学习语法。另一方面,apply
是对横向连接的介绍,非常强大。 Unpivot 是开始了解它们的好方法。
我需要映射两列中的值来映射值-
需要做UnPivot的原始数据截图:
示例-
S1 S1Date
S2 S2Date
S3 S3Date
S4 S4Date
数据-
Cricket 2018-04-07 20:45:22.387
FootBall 2018-04-08 20:45:22.387
TableTennis 2018-04-09 20:45:22.387
Badminton 2018-04-10 20:45:22.387
我尝试了 unpivot,但不确定如何映射多列。请协助。
我会使用 apply
:
select v.*
from t cross apply
(values (s1, s1date), (s2, s2date), (s3, s3date), (s4, s4date)) v(col, dte);
unpivot
做了一件非常具体的事情——我认为甚至不值得学习语法。另一方面,apply
是对横向连接的介绍,非常强大。 Unpivot 是开始了解它们的好方法。