微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – 操作结果以将行显示为列

我有两张桌子.
表A包含一个部门列表,共有20个.

见图

表B包含表A中每个部门至少1行,其中一些包含一些.

见图

我想要的是一个由A& A创建的第三张桌子. B基本上列出了每个部门,然后列出了全职和兼职的人数.例如,如果在表b中找到一个部门,其中只有一个完整或兼职的数字(这个例子是部门D),那么我希望表格显示0(零)而不是留空.

见图

任何人都可以就此提出建议吗?

编辑
如果其中一个部门没有例如“兼职”,这意味着他们的兼职人员数量通常为零.

解决方法

你想要一个 PIVOT
select *
from (tableb) s
pivot (Max(staffno) for employee_class in ([Full Time],[Part Time])) p

原文地址:https://www.jb51.cc/mssql/83251.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐