在线等SQL代码

victory610 2015-12-03 04:42:38
员工号 学习 讨论 开会 健身 时间
1001 是 2015-11-23
1001 是 是 2015-11-24
1002 是 是 2015-11-24
1003 是 2015-11-26
1003 是 是 2015-11-27
1003 是 2015-11-28

---------------------------------------------------------------------------------------------------
要求查询得到下列结果:
员工号 学习 讨论 开会 健身
1001 是 是
1002 是 是
1003 是 是 是 是
...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
landa_matt 2015-12-03
  • 打赏
  • 举报
回复

--是这样吗?
;WITH SEC1_TEMP_TABLE1 AS
(
	SELECT '1001' AS 员工号, '' AS 学习, '' AS 讨论, '' AS 开会, '是' AS 健身, '2015-11-23' AS 时间 UNION ALL
	SELECT '1001', '是', '是', '', '', '2015-11-24' UNION ALL
	SELECT '1002', '', '', '是', '', '2015-11-24' UNION ALL
	SELECT '1003', '', '是', '是', '', '2015-11-26' UNION ALL
	SELECT '1003', '', '', '', '是', '2015-11-27' UNION ALL
	SELECT '1003', '是', '', '', '', '2015-11-28'
)
SELECT 员工号,
	(SELECT ''+学习
	FROM SEC1_TEMP_TABLE1 AS A 
	WHERE A.员工号=B.员工号
	FOR XML PATH ('')) AS 学习,
	(SELECT ''+讨论
	FROM SEC1_TEMP_TABLE1 AS A 
	WHERE A.员工号=B.员工号
	FOR XML PATH ('')) AS 讨论,
	(SELECT ''+开会
	FROM SEC1_TEMP_TABLE1 AS A 
	WHERE A.员工号=B.员工号
	FOR XML PATH ('')) AS 开会,
	(SELECT ''+健身
	FROM SEC1_TEMP_TABLE1 AS A 
	WHERE A.员工号=B.员工号
	FOR XML PATH ('')) AS 健身
FROM SEC1_TEMP_TABLE1 AS B
GROUP BY 员工号
xdashewan 2015-12-03
  • 打赏
  • 举报
回复
直接group by 员工号,max那几个字段除了日期
giftsf 2015-12-03
  • 打赏
  • 举报
回复
select 员工号,部门,max(学习) as 学习,max(讨论) as 讨论,max(开会) as 开会,max(健身) as 健身 from table group by 员工号,部门
victory610 2015-12-03
  • 打赏
  • 举报
回复

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧