Tsql 如何获取每个父项上的子类别的项目计数?
这与以下职位有关:Tsql 如何获取每个父项上的子类别的项目计数?,tsql,count,categories,Tsql,Count,Categories,这与以下职位有关: The function that retrieves the item counts for each folder (category) is: ALTER FUNCTION [dbo].[GetFolderReceiptCount] ( -- Add the parameters for the function here @FolderID bigint ) RETURNS int AS BEGIN DECLARE @Return int
The function that retrieves the item counts for each folder (category) is:
ALTER FUNCTION [dbo].[GetFolderReceiptCount]
(
-- Add the parameters for the function here
@FolderID bigint
)
RETURNS int
AS
BEGIN
DECLARE @Return int
SET @Return = 0
SELECT
--H.ReceiptFolderID,
@Return = COUNT(H.ReceiptFolderID)
FROM
tbl_ReceiptFolderLnk H
JOIN tbl_Receipt D ON H.ReceiptID = D.ReceiptID
WHERE ReceiptFolderID=@FolderID
GROUP BY
H.ReceiptFolderID
-- Return the result of the function
RETURN @Return
END
如何更改此函数以返回每个父级的计数?您应该更改函数以返回表变量,或者使用存储过程以获取数据集 SQL语句应类似于以下内容:
SELECT
H.ReceiptFolderID, COUNT(H.ReceiptFolderID)
FROM
tbl_ReceiptFolderLnk H
JOIN tbl_Receipt D ON H.ReceiptID = D.ReceiptID
WHERE ReceiptFolderID=@FolderID
GROUP BY
H.ReceiptFolderID
这基本上和我上面说的一样。因为这是一个函数,我只需要返回计数。我需要遍历当前文件夹和子文件夹ID(类别),以获得项目的总数,不仅是当前文件夹,而且是当前文件夹及其子文件夹。