gpt4 book ai didi

mysql - 如何使用mysql中的给定条件查询架构中所有表中的相同列?

转载 作者:行者123 更新时间:2023-11-29 20:46:37 26 4
gpt4 key购买 nike

我有一个数据库“仓库”,其中包含每日库存记录表,每天一个表。

现在,我需要检查库存水平的历史变化。输出将根据特定条件打印每天的库存。

我不确定如何描述它,因此我创建了模式、其表和预期输出的简化示例。

模式“warehouse”有一个表列表:

enter image description here

每个表都包含相同的产品 ID 和库存列,下面是表 101

enter image description here

对于每个表,我需要执行一个查询:从 [表名称] 中选择 count(*) 作为 num_of_product_with_inventory。在获得每个表的查询结果后,我应该得到如下所示的输出:

enter image description here

谁能告诉我查询应该是什么样子才能获得最终输出?我只知道基本的查询,不知道如何将它们组合在一起。谢谢!

最佳答案

您拥有的数据模型使您的工作变得比应有的更加困难。如果必须保留它,则需要使用存储过程或在代码中(而不是在 sql 中)执行循环。

但您真正应该做的是更改数据模型。完全不建议每天创建一张表!

它是数据元数据的混合体。表结构应该代表您存储的不同类型的数据,而您的数据中应该包含在日期 X 和日期 Y 上拥有不同库存的事实。

因此,建议创建一个包含 dateproduct_idwarehouse_inventory 列的表。如果它太大,您可以按日期(周/月/..)对其进行分区。然后您可以通过以下方式轻松获取数据:

SELECT date, count(*) AS num_of_products_with_inventory
FROM daily_inventory i
WHERE i.date BETWEEN '<some date>' and '<some date>'
GROUP BY date

关于mysql - 如何使用mysql中的给定条件查询架构中所有表中的相同列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38406219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com