我有一个包含Article_code、日期和数量的表。
我尝试的是找出同一篇文章的数量与前一天相比增加了还是减少了10倍。
例如,我有以下几列
Article Date Quantity X10
1001 20-01-2015 22
1001 21-02-2016 220对于数量为220的行,应该在x10列中标记为x。
我尝试了以下几点
UPDATE ph
SET [X10] = 'Px10'
FROM
[dbo].[Sales] ph
inner join [dbo].[Sales] t on (ph.[Article] = t.[Article])
WHERE
ph.[quantity] / t.[quantity] = 10
OR
t.[quantity] / ph.[quantity] = 10;发布于 2018-07-03 15:59:32
尝试以下操作:
select *,
case when exists
(
select 1
from yourtable t2
where dateadd(day,-1,t1.[Date])=t2.[Date]
and t1.Quantity>=10*t2.Quantity
) then 'x' else '' end as 'x10'
from youttable t1发布于 2018-07-04 13:48:43
尝尝这个。
UPDATE s
SET s.x10 = 'x'
FROM Sales s
OUTER APPLY ( SELECT TOP 1 quantity
FROM sales s2
WHERE s2.Article_code = s.Article_code
AND s2.date < s.date
ORDER BY s2.date DESC ) t
WHERE s.quantity = 10 * t.quantity;https://stackoverflow.com/questions/51149320
复制相似问题