我在这里似乎有类似的问题,但似乎没有一个答案适合我正在寻找的 -
假设我有一张这样的桌子:
分配给 | 部门编号 | 类型 |
---|---|---|
玛丽 | 5001 | 初级 |
鲍勃 | 5002 | 中间 |
鲍勃 | 5003 | 初级 |
吉尔 | 5004 | 高的 |
鲍勃 | 5005 | 高的 |
鲍勃 | 5006 | 高的 |
另一个像这样:
用户 | 电话 | 地址 |
---|---|---|
玛丽 | 111-222-3333 | 南巷 111 号 |
鲍勃 | 222-111-3333 | 222北驱动器 |
吉尔 | 333-222-1111 | 555公路 |
我想在第一个表上输出带有左连接的第二个表,每个分配的用户的“类型”(初级、中级、高)总数,所以它会像这样:
用户 | 电话 | 总小学 | 总中 | 总高 |
---|---|---|---|---|
玛丽 | 111-222-3333 | 1 | 0 | 0 |
鲍勃 | 222-111-3333 | 1 | 1 | 2 |
吉尔 | 333-222-1111 | 0 | 0 | 1 |
我已经尝试过--Count(case when <table>.[type] = 'Elementary' then 1 else 0 end) AS ElementaryCount,
,但这只是让我得到整个表,而不是左连接上的用户。
任何人都知道我该怎么做?
下次
请遵循本问答中的建议:
特别是将数据准备为创建表和插入语句以将其暂存,以便人们在空闲时间为您提供帮助。
现在为没有任何分配的用户添加行:
有条件的
这应该可以得到你想要的,使用
SUM
而不是COUNT
.结果