编写mysql脚本,计算不同产品每日进销存,输出日期,产品,进货量,出库量,日累计结余;一张表有日期,产品,进货量;另一张表有日期,产品,出库量;不使用full outer join
时间: 2024-02-05 19:03:37 浏览: 127
进销存系统mysql建库脚本
可以使用联合查询和子查询来实现,以下是示例脚本:
```
SELECT t1.date, t1.product, t1.stock_in, t2.stock_out, (t1.stock_in - t2.stock_out) AS balance
FROM
(SELECT date, product, SUM(quantity) AS stock_in
FROM table1
GROUP BY date, product) AS t1
JOIN
(SELECT date, product, SUM(quantity) AS stock_out
FROM table2
GROUP BY date, product) AS t2
ON t1.date = t2.date AND t1.product = t2.product
ORDER BY t1.date, t1.product;
```
解释一下:
首先,我们需要分别从两张表中查询每日进货量和出库量,并按照日期和产品进行分组。这里使用子查询来实现。
接着,我们使用联合查询将两个子查询的结果进行合并,通过日期和产品进行匹配,并计算出日累计结余。
最后,我们按照日期和产品对结果进行排序。
需要注意的是,这里使用了内连接(JOIN),因此只会返回在两张表中都存在的日期和产品。如果要包含不存在于其中一张表中的日期和产品,可以考虑使用外连接(LEFT JOIN 或 RIGHT JOIN)。
阅读全文