Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将表格与总和一起旋转_Sql Server - Fatal编程技术网

Sql server 将表格与总和一起旋转

Sql server 将表格与总和一起旋转,sql-server,Sql Server,我有一个包含这些数据的表格 +------------+----------------+------------+ | Department | ProgressStatus | TasksCount | +------------+----------------+------------+ | A | Completed | 1 | | C | Completed | 4 | | D

我有一个包含这些数据的表格

+------------+----------------+------------+
| Department | ProgressStatus | TasksCount |
+------------+----------------+------------+
| A          | Completed      |          1 |
| C          | Completed      |          4 |
| D          | Completed      |          1 |
| B          | Pending        |          8 |
| A          | Pending        |         10 |
| C          | Pending        |         12 |
| D          | Pending        |          2 |
| C          | Progress       |          4 |
+------------+----------------+------------+
我需要编写一个查询来获得这些输出(它看起来像一个简单的透视表)


使用条件求和和和分组方式

select
    department,
    sum(case when ProgressStatus = 'Completed' then TasksCount end) Completed,
    sum(case when ProgressStatus = 'Pending' then TasksCount end) Pending,
    sum(case when ProgressStatus = 'Progress' then TasksCount end) Progress,
    sum(TasksCount) Total
from your_table
group by department;

使用条件求和和和分组方式

select
    department,
    sum(case when ProgressStatus = 'Completed' then TasksCount end) Completed,
    sum(case when ProgressStatus = 'Pending' then TasksCount end) Pending,
    sum(case when ProgressStatus = 'Progress' then TasksCount end) Progress,
    sum(TasksCount) Total
from your_table
group by department;
输出

Department  Completed   Pending Progress    total
A                1       10       0          11
B                0       8        0           8
C                4      12        4          20
D                1      2         0           3
输出

Department  Completed   Pending Progress    total
A                1       10       0          11
B                0       8        0           8
C                4      12        4          20
D                1      2         0           3

到目前为止,您尝试了什么?事实上,我是SQL新手。所以,我所能做的就是为每个部门获取totsl任务,但我无法获取其余的:(到目前为止,你尝试了什么?实际上我对SQL是新手。所以我所能做的就是为每个部门获取totsl任务,但我无法获取其余的任务:(它工作了:)谢谢。你能告诉我在哪里可以学习SQLIt工作的好资源吗:)谢谢你能告诉我一些好的资源,在那里我可以学习SQLit,它也可以工作。但是我现在还不能理解:(.谢谢你的帮助,看看pivot的例子你能理解发生了什么…@EmadAli它也能工作。但是我现在还不能理解:(.谢谢你的帮助,看看pivot的例子你能理解发生了什么…@EmadAli