我们有一个SQL Select查询,它执行以下操作:
SELECT TOP 10
Product.ProductItemID ,
Product.ProductCode ,
Product.ProductName ,
Product.ProductGroupItemID,
...Other Columns...
FROM Product
...Other Joins...
LEFT JOIN Stock
ON Stock.ProductItemID = Product.ProductItemID
WHERE ProductGroupItemID = 12345
AND ProductCode like 'ABC%'
...Other Criteria...
该公司要求提供以下信息:
如果没有记录有发送标准的库存,则显示符合条件的任何产品
我们可以通过在HAVING SUM (Stock.BaseQuantity) > 0
和group by
中选择所有列来轻松满足第一个标准。
问题是我们只想申请满足标准的任何产品都有库存。如果所有产品都没有库存,那么我们不想应用它。
我们如何将having子句更改为仅在返回结果时应用?