日期:2014-05-18  浏览次数:20433 次

如何将SQL SERVER一个表中的两条记录合成一条
我现在有一个表是管理日常考核的,记录如下:
ID   名字    考核项  考核成绩
1   张三     1     80
1   张三     2     90

我现在在页面输出的时候想显示成以下的情形
ID 名字 考核项1 成绩 考核项2 成绩
1 张三 1 80 2 90

这个可以做吗?怎么做?

------解决方案--------------------
可以,一个简单的行列转换,你搜索下以前的帖子,最近类似问题太多了,不想复制粘贴了
------解决方案--------------------
SQL code

CREATE TABLE tbb
( ID INT,
  名字 VARCHAR(100),
  考核项 VARCHAR(100),
  考核成绩 INT
)
GO
INSERT INTO tbb
SELECT 1,'张三',1,80 UNION
SELECT 1,'张三',2,90


SELECT A.ID,A.名字,A.考核项 AS 考核项1,A.考核成绩 AS 成绩,B.考核项 AS 考核项2,B.考核成绩 AS 成绩
FROM tbb AS A,tbb as B
WHERE A.ID = B.ID AND A.名字 = B.名字 AND A.考核项 = 1 AND B.考核项 = 2

ID    名字    考核项1    成绩    考核项2    成绩
1    张三    1    80    2    90

------解决方案--------------------
探讨
SQL code

CREATE TABLE tbb
( ID INT,
名字 VARCHAR(100),
考核项 VARCHAR(100),
考核成绩 INT
)
GO
INSERT INTO tbb
SELECT 1,'张三',1,80 UNION
SELECT 1,'张三',2,90


SELECT A.ID,A.名字,A.考核项 AS 考核项1,A……