我需要映射两列中的值以映射值 -
实施例 -
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并且不确定如何映射多个列。请协助。
答案 0 :(得分:4)
我会使用apply
执行此操作:
select v.*
from t cross apply
(values (s1, s1date), (s2, s2date), (s3, s3date), (s4, s4date)) v(col, dte);
unpivot
做了一件非常具体的事情 - 我认为甚至不值得学习语法。另一方面,apply
是对横向连接的介绍,它非常强大。 Unpivot是开始学习它们的好方法。