一列中两个不同条件的总和
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 StateCode = '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
我有这个 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 StateCode = '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