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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...