Need to get the total count of patients for a given date where all FilledBy value is 0
My Script
CREATE TABLE [dbo].[da.CheckListActivity](
[Id] [int] IDENTITY(1,1) NOT NULL,
[PatientId] [int] NULL,
[ChecklistId] [int] NULL,
[FilledBy] [int] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[da.Patient](
[Id] [int] IDENTITY(1,1) NOT NULL,
[PatientId] [int] NULL,
[PatientName] [varchar](200) NULL,
[DischargeDate] [Datetime]
) ON [PRIMARY]
GO
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (101, 1002, 35)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (101, 1003, 21)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (101, 1004, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (102, 1002, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (102, 1003, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (102, 1004, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (103, 1002, 21)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (103, 1003, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (103, 1004, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (104, 1002, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (104, 1003, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (104, 1004, 0)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (105, 1002, 21)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (105, 1003, 27)
INSERT [dbo].[da.CheckListActivity] ([PatientId], [ChecklistId], [FilledBy]) VALUES (105, 1004, 35)
INSERT [dbo].[da.Patient] ([PatientId], [PatientName], [DischargeDate]) VALUES (101, N'Patient 1', '2021-05-03 03:22:06.650')
INSERT [dbo].[da.Patient] ([PatientId], [PatientName], [DischargeDate]) VALUES (102, N'Patient 2', '2021-05-02 06:13:18.430')
INSERT [dbo].[da.Patient] ([PatientId], [PatientName], [DischargeDate]) VALUES (103, N'Patient 3', '2021-05-02 03:22:06.650')
INSERT [dbo].[da.Patient] ([PatientId], [PatientName], [DischargeDate]) VALUES (104, N'Patient 4', '2021-05-02 06:13:18.430')
INSERT [dbo].[da.Patient] ([PatientId], [PatientName], [DischargeDate]) VALUES (105, N'Patient 5', '2021-05-03 02:36:33.970')
Attempt Query
SELECT COUNT(PatientId)PatientCnt FROM [dbo].[da.CheckListActivity]
WHERE [PatientId] IN (
SELECT PatientId FROM [dbo].[da.Patient]
WHERE CONVERT(Date,DischargeDate) = CONVERT(Date,'2021-05-02'))
AND FilledBy = 0 GROUP BY [PatientId]
Expected Output: PatientCnt = 2 (Which are 102, 104)