I want to create Sql script to see how many task open or on-hold only for logged in user who assigned
to task
result
HelloWorld1(0)
HelloWorld2(2)
HelloWorld3(1)
HelloWorld4(5)
SELECT Projects.projectID,
Projects.projectName + ' ' + '(' + CONVERT(NVARCHAR, COUNT(Projects_tasks.taskID)) + ')' AS Project
FROM Projects
LEFT JOIN Projects_tasks ON Projects.projectID = Projects_tasks.projectID
INNER JOIN Users_projects ON Projects.projectID = Users_projects.projectID
INNER JOIN Tasks ON Projects_tasks.taskID = Tasks.taskID
INNER JOIN Users_Tasks ON Tasks.taskID = Users_Tasks.TaskID
WHERE Users_Tasks.userID = @userID
AND Tasks.status = 'Open'
AND Tasks.status = 'Onhold'
GROUP BY Users_projects.userID,
Projects.projectName,
Projects.projectID,
Users_Tasks.userID

You have:
Which can’t be true; a Task can’t have both values at the same time. You want:
Better yet, use
IN: