急! sql server

怎么用sql server 把表1变成表2
表2的初始库存都是上个月的月底库存
月底数量=初始数量+生产入库数量+采购入库数量-销售出库数量-销售退货数量

img

这是一张简化了的excel表,跟sql没有一毛钱关系,也根本不符合sql表的要求
说白了这东西根本录不进数据库里

你的这个用游标去实现,首先是查询所有的数据,然后取第一行数据作为基本数据,后面按照你的逻辑进行计算即可。
游标可以参考https://blog.csdn.net/qq_41827511/article/details/124813672的做法

  • 以下回答由chatgpt基于相关博客总结生成:

    可以使用以下步骤将表1转换为表2:

    1. 首先,创建一个名为[表1]的新表,该表包含列:初始数量、生产入库数量、采购入库数量、销售出库数量和销售退货数量。
    CREATE TABLE 1 (
      初始数量 INT,
      生产入库数量 INT,
      采购入库数量 INT,
      销售出库数量 INT,
      销售退货数量 INT
    );
    
    1. 插入上个月的月底库存数据。这可以通过连接表1和表2,并使用别名来实现。
    INSERT INTO 1 (初始数量)
    SELECT t2.月底库存 FROM 2 AS t2
    WHERE t2.日期 = DATEADD(MONTH, -1, GETDATE())
    
    1. 更新表1的月底库存数据,将初始数量加上生产入库数量和采购入库数量,再减去销售出库数量和销售退货数量。
    UPDATE 1
    SET 初始数量 = 初始数量 + 生产入库数量 + 采购入库数量 - 销售出库数量 - 销售退货数量
    

    这样,表1就被成功转换为表2,其中初始数量列已经包含上个月的月底库存。

    请注意,以上代码只提供了转换过程的基本框架。具体的实现可能需要根据实际情况进行调整。例如,你可能需要添加日期条件来确保只查找上个月的数据,或者将表名和列名替换为你实际使用的名称。