Sul*_*lfy 0 sql t-sql sql-server pivot unpivot
我有一张包含基本员工详细信息的表格,如下所示:
表:tblEmployees
EmpID Name Contact Sex
100 John 55555 M
200 Kate 44444 F
300 Sam 88888 M
Run Code Online (Sandbox Code Playgroud)
我想获得如下特定员工的查询结果,其中 EmpID = 200
Col1 Col2
EmpID 200
Name Kate
Sex F
Run Code Online (Sandbox Code Playgroud)
您可以使用交叉应用:
select t.*
from employees e
cross apply (values
('empid', cast(empid as varchar(100))),
('name', name),
('sex', sex)
) t(attr, value)
where e.empid = 200
Run Code Online (Sandbox Code Playgroud)
据推测,empid是一个数字,因此需要显式转换(否则 sql server 将尝试将 name 和 sex 转换为数字,这将失败)。
属性 | 价值 :---- | :---- 清淡 | 200 姓名 | 凯特 性 | F
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |