首页 文章

MySQL在多个表中找到多个产品的最低价格

提问于
浏览
0

我有一个名为Pricelist的数据库 . 在其中有几个表格,例如 . Store1,store2等每个都有一个产品列表 . 大多数产品存在于每个商店中,但有些仅在一个或两个商店中存在 . 我希望有一些我可以在SQL中运行的东西(存储过程?)通过检查每个商店的价格找到产品的最低价格,然后当它找到最低价格时,它将获得该价格,以及UPC,描述和其他列,并将所有信息放在名为BestPrices的最终表中 . 然后它会为每个商店中的每个产品再次完成所有操作 . 所以当它完成了 . 所有商店的每件商品都应该在BestPrices表中列出一次,价格最低,我选择的其他栏目中的附加信息也是如此 . 这可能吗?我知道这很多 . 提前致谢 .

2 回答

  • 0

    您可以创建临时/缓冲表来从表存储中收集数据,然后您可以从该表中查询以获得最低价格 .

  • 0

    如果你想要的只是显示最好的价格,那么 SQL View 应该可以做到 . 一个 View 足够了

    通过检查每个商店的价格以及其他列来找到产品的最低价格......并且对每个商店中的每个产品再做一遍 .

    但是,SQL视图在运行时呈现,因此,您本身没有存储在表中的值 . 也就是说,最佳价格是在您调用视图时计算的

    如果您希望存储这些值以供将来查看,那么您需要一个 Stored Procedure ,它将值插入物理表中 .

    在使用过程的情况下,您应该注意在插入表时现有数据应该发生什么 .

    此外,您的帖子不包含有关实际表格结构的详细信息或所有表格中产品的公共标识符 . 这些细节可以极大地影响View / Procedure的设计和性能 .

相关问题