一列中两个不同条件的总和

Sum of two different condition in one column

我有这个 T-SQL 查询

SELECT 
    ProductId, SUM(Quantity) AS Quantity 
FROM 
    ProductStockIn 
WHERE  
    OrgName = @OrgName
    AND Statecode = 'ADD' OR Statecode = 'ORDER' 
    AND CreatedOn BETWEEN DATEADD(MS, 3, @LastGenerationDate) AND @GenerationDate 
GROUP BY 
    ProductId) stockin  ON p.ProductId = stockin.ProductId

我有这种table

|quantity | StateCode | CreatedOn |
+---------+-----------+-----------+
|400      | ORDER     | <date>    |
|400      | ADD       | <date>    |

我想对 StateCode 等于 'Order' 和 'Add' 的所有数量求和,但在我的查询中它只有 select StateCode = ADD .. 当我尝试条件 StateCode = 'ADD' AND St​​ateCode = 'ORDER',没有 selected.

你可以试试下面的-

SELECT ProductId, SUM(Quantity) AS Quantity 
FROM ProductStockIn 
WHERE  OrgName = @OrgName AND Statecode in( 'ADD','ORDER')
AND CreatedOn BETWEEN DATEADD(MS,3,@LastGenerationDate)
AND @GenerationDate 
GROUP BY ProductId
having count(distinct Statecode)=2