早教吧 育儿知识 作业答案 考试题库 百科 知识分享

数据库表内容转换周一周二周三周四周五英语英语英语表1周一111周二1111周三111周四112周五121表2怎么把表1转换成表2,我想用pivot来做,似乎有点问题

题目详情
数据库表内容转换
周一 周二 周三 周四 周五
英语 英语 英语
表1
周一 1 1 1
周二 1 1 1 1
周三 1 1 1
周四 1 1 2
周五 1 2 1
表2
怎么把表1 转换成表2,我想用pivot来做,似乎有点问题
▼优质解答
答案和解析
CREATE TABLE #test(
  [周一]  VARCHAR(6),
  [周二]  VARCHAR(6),
  [周三]  VARCHAR(6),
  [周四]  VARCHAR(6),
  [周五]  VARCHAR(6)
)
GO

INSERT INTO #test
SELECT  '语文',   '语文',   '数学',   '英语',   '物理' UNION ALL
SELECT  '数学',   '英语',   '物理',   '语文',   '语文' UNION ALL
SELECT  NULL,     '物理',   NULL,     '物理',   '数学' UNION ALL
SELECT  '英语',   '数学',   '英语',   '英语',   '数学' 
GO





With MyCTE AS
(
SELECT 1 AS NO, '周一' AS [日期],  [周一] AS [课程],  1 AS [ClassCount] FROM #test UNION ALL
SELECT 2 AS NO, '周二' AS [日期],  [周二] AS [课程],  1 AS [ClassCount] FROM #test UNION ALL
SELECT 3 AS NO, '周三' AS [日期],  [周三] AS [课程],  1 AS [ClassCount] FROM #test UNION ALL
SELECT 4 AS NO, '周四' AS [日期],  [周四] AS [课程],  1 AS [ClassCount] FROM #test UNION ALL
SELECT 5 AS NO, '周五' AS [日期],  [周五] AS [课程],  1 AS [ClassCount] FROM #test   

SELECT
  [日期],
  SUM( tmp.[语文] ) [语文],
  SUM( tmp.[数学] ) [数学],
  SUM( tmp.[英语] ) [英语],
  SUM( tmp.[物理] ) [物理]
FROM
  MyCTE
PIVOT( 
  SUM([ClassCount])
  FOR [课程] IN ([语文], [数学], [英语], [物理] )
) tmp
GROUP BY
  NO,[日期]
ORDER BY
  NO
GO


日期   语文          数学          英语          物理
---- ----------- ----------- ----------- -----------
周一             1           1           1        NULL
周二             1           1           1           1
周三          NULL           1           1           1
周四             1        NULL           2           1
周五             1           2        NULL           1
警告: 聚合或其他 SET 操作消除了 Null 值.
看了 数据库表内容转换周一周二周三...的网友还看了以下:

下列关于元素周期表的说法正确的是A.短周期有一共有3个周期,22种元素B.元素周期表共有七个周期,  2020-04-08 …

表为元素周期表的部分示意图,横行为“周期”,竖列为“族”请利用下表回答相关问题.(1)用符号表示:  2020-05-14 …

下列关于元素周期表的说法正确的是A.元素周期表有七个横行,即七个周期B.元素周期表有十八个竖行,即  2020-06-09 …

下图是元素周期表的部分框架,请回答:(1)根据元素周期表回答下面问题:a)元素周期表中的元素⑤和元  2020-06-09 …

元素周期表是学习物质结构与性质的重要工具.下表是元素周期表的一部分,表中所列字母A、B、D、E、G  2020-06-09 …

元素周期表的种类相当多,如大象式、回路式、能级式、亚历山大式等,教材上所附的长式周期表是目前使用最  2020-06-22 …

元素周期表将已知元素科学有序地排列起来,便于我们研究它们的性质和用途.下表表示元素周期表的一部分,  2020-07-20 …

(10分)下表中的实线表示元素周期表的部分边界。①-⑥分别表示元素周期表中对应位置的元素。(1)请  2020-07-31 …

(2011•威海)元素周期表是化学学习和科学研究的重要工具,下列对于元素周期表的使用方法不正确的是(  2020-11-13 …

认真分析元素周期表可得出以下结论,其中不正确口是()A.元素周期表共有18个纵行,16个族B.除第一  2020-12-23 …