I would like to select deptUserCount
and childDeptCount
at once in one procedure.
ALTER PROCEDURE [dbo].[sp_dept_user_select]
@dept_no INT,
@company_no INT
AS
BEGIN
SET NOCOUNT ON;
SELECT
( SELECT COUNT(U.user_no)
FROM [dbo].[tb_user] U WITH(NOLOCK)
INNER JOIN [dbo].[tb_dept_user] DU WITH(NOLOCK)
ON U.user_no = DU.user_no
WHERE DU.dept_no = @dept_no
AND U.company_no = @company_no
AND U.user_level < 200
) AS deptUserCount
,( WITH tblChild AS
(
SELECT dept_no, parent_dept_no, name
FROM [dbo].[tb_dept] D WITH(NOLOCK)
WHERE parent_dept_no = 2
AND D.company_no = 1
UNION ALL
SELECT D.dept_no, D.parent_dept_no, D.name
FROM [dbo].[tb_dept] D WITH(NOLOCK)
INNER JOIN tblChild
ON D.parent_dept_no = tblChild.dept_no
WHERE D.company_no = 1
)
SELECT COUNT(D.dept_no)
FROM [dbo].[tb_dept] D WITH(ROWLOCK)
WHERE dept_no IN (SELECT dept_no FROM tblChild)
) AS childDeptCount
END
This is the code that I made right now. But there is an error at the WITH statement saying
incorrect syntax errorHow should I fix this error? Or do I have to make a separate procedure to get what I want?