exec uspCartonMaterialCommonGetPageRecords @StartRow=0,@MaxRows=50,@TableName=N'vwGRNPackList', @PrimaryKey=N'Id',@GetFields=N'balanceqty', @SearchConditions=N' and carton.SerialNumber = ''PACKGRN220817194400001'' ',@SortExpression=N'lastupdate desc'获取balanceqty的和
时间: 2024-01-06 16:03:44 浏览: 72
要获取 `balanceqty` 的和,您可以修改存储过程 `uspCartonMaterialCommonGetPageRecords` 的参数,使其返回 `balanceqty` 的总和。
以下是修改存储过程的示例代码:
```sql
ALTER PROCEDURE uspCartonMaterialCommonGetPageRecords
-- 省略其他参数...
@GetFields NVARCHAR(MAX) = NULL, -- 修改此处参数类型为 NVARCHAR(MAX)
@SumFields NVARCHAR(MAX) = NULL -- 添加一个新的参数 @SumFields
AS
BEGIN
-- 省略存储过程中的其他代码...
-- 在查询结果中使用SUM函数计算 balanceqty 的总和
IF @GetFields IS NOT NULL
BEGIN
SET @SQL = @SQL + ', ' + @SumFields + ' = SUM(balanceqty)';
END
-- 省略存储过程中的其他代码...
END
```
然后,您可以执行存储过程并获取 `balanceqty` 的总和。以下是示例代码:
```sql
DECLARE @balanceqty_sum INT;
EXEC uspCartonMaterialCommonGetPageRecords
@StartRow = 0,
@MaxRows = 50,
@TableName = N'vwGRNPackList',
@PrimaryKey = N'Id',
@GetFields = N'balanceqty',
@SumFields = N'@balanceqty_sum';
SELECT @balanceqty_sum AS balanceqty_sum;
```
通过在存储过程中添加一个新的参数 `@SumFields`,并在查询结果中使用SUM函数计算 `balanceqty` 的总和,您可以获得 `balanceqty` 的和。
希望这可以解决您的问题。如果还有其他问题,请随时提问。
阅读全文