日期:2014-05-17 浏览次数:20544 次
IF OBJECT_ID('TEST')IS NOT NULL
  DROP TABLE TEST
GO
CREATE TABLE TEST(学期 VARCHAR(10),专业 VARCHAR(10),课程 VARCHAR(10),姓名 VARCHAR(10))
INSERT INTO TEST
SELECT '第一学期', '计算机系', '语文', '张德' UNION ALL
SELECT'第一学期', '计算机系' ,'语文' , '张三'UNION ALL
SELECT'第一学期' ,'计算机系' ,'数学' , '李四'UNION ALL
SELECT'第一学期' ,'计算机系', '电脑' , '刘海'UNION ALL
SELECT'第一学期' ,'英语系' ,  '语文' , '张阐'UNION ALL
SELECT'第一学期' ,'英语系' ,  '数学',  '陈明'UNION ALL
SELECT'第一学期', '工程系'   ,'物理'  ,'李王'UNION ALL
SELECT'第一学期' ,'工程系'  , '数学' , '莉丽'
SELECT
A.学期,A.课程,B.姓名 AS '计算机系',C.姓名 AS '英语系',D.姓名 AS '工程系'
FROM( SELECT DISTINCT 学期,课程 FROM TEST) A
LEFT JOIN TEST B ON A.课程  = B.课程 AND B.专业 = '计算机系'
LEFT JOIN TEST C ON A.课程  = C.课程 AND C.专业 = '英语系'
LEFT JOIN TEST D ON A.课程  = D.课程 AND D.专业 = '工程系'
/*
学期         课程         计算机系       英语系        工程系
---------- ---------- ---------- ---------- ----------
第一学期       电脑