我在写报告存储过程。我想获得未确认和非开票采购订单的数量,并可以(可选)在CustomerID
上过滤。报告存储过程 - 如何避免重复?
我在下面的工作如预期,但我担心,a)它很慢,b)WHERE
条款的CustomerID
部分有重复。
你会如何编写这个存储过程,堆栈溢出?
SELECT
(SELECT COUNT(*)
FROM PurchaseOrder
WHERE AcknowledgmentStatus <> 'Complete'
AND (@CustID = 0 OR CustomerID = @CustID)
) AS NonAckd,
(SELECT COUNT(*)
FROM PurchaseOrder
WHERE InvoiceStatus <> 'Complete'
AND (@CustID = 0 OR CustomerID = @CustID)
) AS NonInvoiced
这就是我一直在寻找的东西!我不敢相信我从未见过'CASE WHEN'结构。 – 2010-01-26 18:45:22