首页 > 解决方案 > 如何在 SQL 中创建此视图

问题描述

我想创建一个视图来返回有关与前一天相比单个仓库的状况低于 20% 的文章的信息。
我的表结构如下:

在此处输入图像描述

我不知道如何创建这样的视图。
欢迎任何帮助或建议。提前致谢!

标签: sqlsql-server

解决方案


你的问题有点含糊。例如,如果一天的数据丢失怎么办?您还提到了“仓库”,但数据中没有这样的字段。同样,“条件”有点难以理解。也就是说,让我假设您的意思是“单个文章的数据的前一天,并且您对下降 20% 的数量感兴趣”。

select t.*
from (select t.*,
             lag(t.quantity) over (partition by articlename order by dateadd) as prev_quantity
      from t
     )  t
where t.quantity < t.prev_quantity * (1 - 0.2);

推荐阅读