Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 如何获取每个父项上的子类别的项目计数?_Tsql_Count_Categories - Fatal编程技术网

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(类别),以获得项目的总数,不仅是当前文件夹,而且是当前文件夹及其子文件夹。