日期:2014-05-17 浏览次数:20613 次
CREATE TABLE department (Dpt_Id VARCHAR(10), Dpt_Name VARCHAR(10))
INSERT INTO department
SELECT 1,'信息学院'
--UNION ALL
--SELECT 2,'信息学'
CREATE TABLE teacher (TeaName VARCHAR(20), Telephone VARCHAR(20), Dpt_Id VARCHAR(20), techer_typ VARCHAR(20))
INSERT INTO teacher
SELECT '张三','18079240505',1,'系主任'
UNION ALL
SELECT '李四','18923450505',1,'书记'
UNION ALL
SELECT '陈明','17890230404',1,'科长'
SELECT b.Dpt_Name,[系主任]=MAX(CASE WHEN techer_typ='系主任' THEN teaname END ),[系主任电话]=MAX(CASE WHEN techer_typ='系主任' THEN Telephone END )
,[书记]=MAX(CASE WHEN techer_typ='书记' THEN teaname END ),[书记电话]=MAX(CASE WHEN techer_typ='书记' THEN Telephone END )
,[科长]=MAX(CASE WHEN techer_typ='科长' THEN teaname END ),[科长电话]=MAX(CASE WHEN techer_typ='科长' THEN Telephone END )
FROM teacher a INNER JOIN department b ON a.Dpt_Id=b.Dpt_Id
GROUP BY b.Dpt_Name
/*
(3 行受影响)
Dpt_Name 系主任 系主任电话 书记 书记电话 科长 科长电话
---------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------
信息学院 张三 18079240505 李四 18923450505 陈明 17890230404
警告: 聚合或其他 SET 操作消除了 Null 值。
(1 行受影响)
*/