行转列,老生常谈的问题。这里总结一下网上的方法。
1、生成测试数据:
CREATE TABLEhuman(
nameNVARCHAR(5), --姓名
norm NVARCHAR(5), --指标
score INT , --分数
grade NVARCHAR(2) --等级
)GO
INSERT INTO human(name,norm,score,grade)VALUES('旺仔','考勤',56,'c'),
('旺仔','生产',85,'b'),
('旺仔','技术',95,'a'),
('小杰','考勤',66,'a'),
('小杰','生产',77,'b'),
('小杰','技术',88,'c'),
('玉红','考勤',92,'j'),
('玉红','生产',73,'k'),
('玉红','技术',81,'m')
查询数据:
注意:这里的score是数值类型列,而gr