您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

根据SQL查询生成成员的“散点图”结果

根据SQL查询生成成员的“散点图”结果

可以使用PIVOT表(使用sql Server)完成此操作:

SELECT user_name, [dept1name], [dept2name], [dept3name], ...
FROM
    (SELECT s.user_name, d.dept_name,
     case when sd.user_no is not null then 'X' else '' end as matches
     from staff s
     cross join department d
     left join staff_dept sd on s.user_no = sd.user_no and d.dept_no = sd.dept_no
    ) AS s
PIVOT
(
    min(matches)
    FOR dept_name IN ([dept1name], [dept2name], [dept3name], ...)
) AS pvt
order by user_name

演示:http ://www.sqlfiddle.com/#!3/c136d/5

SQLServer 2022/1/1 18:48:26 有408人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶