从两个要在 C# 中显示的条件返回 SQL 值
本文关键字:显示 条件 返回 SQL 两个 | 更新日期: 2023-09-27 18:37:13
我有一个boolean field
扫描的表。
我想在 C# WinForm 中显示扫描完成和挂起的计数。
我正在使用SQL中的存储过程。
select count(1),sum(pages),count(distinct custId) from TableA where scanning=0 --Pending
select count(1),sum(pages),count(distinct custId) from TableA where scanning=1 --Done
我是否需要在 SQL 中创建两个存储过程,或者是否有办法从单个存储过程中获取结果。
SELECT
PendingCnt = COUNT_BIG(CASE WHEN scanning = 0 THEN 1 END),
PendingSum = ISNULL(SUM(CASE WHEN scanning = 0 THEN pages END), 0),
PendingCustID = COUNT_BIG(DISTINCT CASE WHEN scanning = 0 THEN custId END),
DoneCnt = COUNT_BIG(CASE WHEN scanning = 1 THEN 1 END),
DoneSum = ISNULL(SUM(CASE WHEN scanning = 1 THEN pages END), 0),
DoneCustID = COUNT_BIG(DISTINCT CASE WHEN scanning = 1 THEN custId END)
FROM TableA