统计物料入库价格是否有变化
昨天一同事想看其他入库单物料成本价格是否有变化,想了下还是比较有意思。随手写下了下面的SQL代码
SELECT FMATERIALID, FNAME, FPRICE, CntByMaterialAndPrice, CntByMaterial, count(1) OVER (PARTITION BY FMATERIALID) AS cnt -- 物料价格次数 FROM ( SELECT DISTINCT--a.fbillno, a.fdate, S.FMATERIALID, -- 物料内码 ML.FNAME, -- 物料名称 S.FPRICE, -- 成本价 S.CntByMaterialAndPrice, -- 成本价出现次数 S.CntByMaterial -- 物料入库次数 FROM ( SELECT A2.FID, A2.FMATERIALID, A2.FPRICE, count(A2.FPRICE) OVER (PARTITION BY A2.FMATERIALID,A2.FPRICE) AS cntByMaterialAndPrice, -- 成本价出现次数 count(A2.FPRICE) OVER (PARTITION BY A2.FMATERIALID) AS cntByMaterial -- 物料入库次数 FROM T_STK_MISCELLANEOUSENTRY A2 ) S INNER JOIN T_STK_MISCELLANEOUS A ON S.FID = A.FID INNER JOIN T_BD_MATERIAL M ON M.FMATERIALID = S.FMATERIALID INNER JOIN T_BD_MATERIAL_L ML ON ML.FLOCALEID = 2052 AND ML.FMATERIALID = M.FMATERIALID WHERE CNTBYMATERIAL <> CNTBYMATERIALANDPRICE ) T ORDER BY FMATERIALID
解释一下比如上面第3行物料总共入库6次,21.86803 这个价格出现了3次, 有4个不同的入库价格。
另:
SQL Sever 里开窗函数里用不了distinct 外面又套了一层。 oacle 可以直接在分析函数里使用distinct
count(distinct fprice) OVER (PARTITION BY FMATERIALID) AS CNT
统计物料入库价格是否有变化
昨天一同事想看其他入库单物料成本价格是否有变化,想了下还是比较有意思。随手写下了下面的SQL代码SELECT FMATERIALID, ...
点击下载文档
上一篇:销售的交货期如何与ERP系统的提前期关联下一篇:多种消息提示框
本文2024-09-16 17:11:03发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-14070.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章