如何为 SQL 函数设置条件?

How can I set a criteria for SQL function?

我正在使用 Microsoft Access 执行 SQL,有没有什么方法可以设置函数的条件,例如 COUNT?

我发现 COUNT() 函数也会计算 Captain 字段满足要求的记录 where Pilots.[PilotNum] = Bookings.[Co-Captain] AND Pilots.[PilotNum] = Bookings.[Captain ]

下面的SQL是SQL我用来找每个Pilot的Co-captain的编号

我的结果SQL

如何使用 COUNT() 函数分别计算每列中出现的每个 PilotNum

我认为使用 sum() 代替 count() 会更容易,如下所示:

Select Pilots.PilotNum
     , Sum(Iif(Bookings.[Co-Captain]=Pilots.PilotNum,1,0)) As CoCapt
     , Sum(Iif(Bookings.[Captain]=Pilots.PilotNum,1,0)) As Capt
From...

The ... 只是意味着其余部分与您编写的相同。这里的重点是使用Iif()函数建立一个一或零值,然后将它们相加。