ACCESS一对多行,查询时实现一行多列,SQL语句怎么写
4个回答
展开全部
标准的SQL语法可以这么写,思想上是一样的,实现上有点出入可以自己改一改,我觉得这样查询效率低了好多,为什么要这样的结果呢,
select e.name,
(select a.attendace from attendance_table a where a.id =e.id and a.week ='Monday') Monday,
(select a.attendace from attendance_table a where a.id =e.id and a.week ='Tuesday') Tuesday,
(select a.attendace from attendance_table a where a.id =e.id and a.week ='Wednesday') Wednesday,
(select a.attendace from attendance_table a where a.id =e.id and a.week ='Thursday') Thursday,
.........
from employee_table e
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
--因为姓名可能重复,所以不建议用姓名分组,而用ID分组
SELECT MAX(T1.姓名) AS 姓名,MAX(IIF(T2.日期='周一',t2.出勤,' ')) AS 周一
,MAX(IIF(T2.日期='周二',t2.出勤,' ')) AS 周二
,MAX(IIF(T2.日期='周三',t2.出勤,' ')) AS 周三
,MAX(IIF(T2.日期='周四',t2.出勤,' ')) AS 周四
,MAX(IIF(T2.日期='周五',t2.出勤,' ')) AS 周五 from
员工表 T1 LEFT JOIN 考勤表 T2 ON T1.ID=T2.员工ID
GROUP BY T1.ID
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实你可以考虑用transform语句,简洁多了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |