Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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查询进行复杂的行计数_Sql_Ms Access - Fatal编程技术网

使用SQL查询进行复杂的行计数

使用SQL查询进行复杂的行计数,sql,ms-access,Sql,Ms Access,我正在尝试使用SQL查询合并Access数据库文件中的计数,我需要您的帮助 这是我的数据库列 [Name] [Project Type] [Project Phase] 在每一行中,我都有一名员工的姓名和他(或她)正在从事的项目类型(类型1或类型2)以及项目阶段(完成/不完成/正在进行) 我试图构建的查询的结果应该如下所示 [Name] [Type1 Complete][Type1 Incomplete][Type1 InProgress] (...) Jack 0

我正在尝试使用SQL查询合并Access数据库文件中的计数,我需要您的帮助

这是我的数据库列

[Name] [Project Type] [Project Phase] 
在每一行中,我都有一名员工的姓名和他(或她)正在从事的项目类型(类型1或类型2)以及项目阶段(完成/不完成/正在进行)

我试图构建的查询的结果应该如下所示

[Name] [Type1 Complete][Type1 Incomplete][Type1 InProgress] (...)
Jack          0                2                  3         (...)
John          3                0                  0         (...)
是否有一种方法可以在同一查询中组合不同的SQL计数,并按员工的姓名对它们进行分组


非常感谢。

当然可以。您需要使用case语句来派生type1。。。柱。类似于

select [Name],
count (case when [Project Type] = 1 then <whatever you're counting> else null end) as [Type1 Complete]` 
from <your table> 
group by [NAME]
count (iif([Project Type]=1,<whatever you're counting>,null) as [Type1 Complete]
选择[名称],

计数(如果[Project Type]=1,那么如果使用MS Access,为什么要使用sql server和mysql标记呢???你说得很对,我的BAD这太完美了!非常感谢!在MS Access中,你也可以使用
switch
语句,而不是
iif
,一个la
案例。