gpt4 book ai didi

mysql - 需要帮助将多个 mysql 表中的数据收集到一个 php 表中

转载 作者:行者123 更新时间:2023-11-29 15:44:26 28 4
gpt4 key购买 nike

我有四个 MySQL 表,每个表都由 CMS 创建,因此我需要的信息分布在它们之间。而且,没有一个 ID 可以用来线程化它们,这使得这项任务变得更加复杂。基本上,我需要从一张表中获取销售税金额(它有自己的 ID)、促销金额(它有自己的 ID)以及订单号和日期(它也有自己的 ID)。唯一的连接是名为 order_reports 的第四个表,其中包含所有三个 ID(尽管它们的名称不同)。

由于我是一名中级 MySQL/php 开发人员,我似乎无法弄清楚正确的顺序和命令。我尝试过Left Join、Full Join、Union、Case...等。

基本上,这就是我所得到的,它呈现空白。我已经验证了连接,所以我知道这不是问题:

SELECT  tax_id, tax_amount, promo_id, promo_amount,  order_id, order_no, order_date, order_report_id, report_id
FROM sales_tax, promotions, order_reports, orders
WHERE sales_tax.tax_id = order_reports.report_id AND promotions.promo_id = order_reports.report_id AND order_reports.order_report_id = order.order_id
<小时/>

销售税表:

tax_id       tax_amount
200 1.95
202 3.15
204 2.95
206 4.05
208 1.95
<小时/>

促销表:

promo_id       promo_amount
201 -4.00
207 -3.50
<小时/>

order_reports 表:

report_id          report_type         order_report_id
200 sales_tax 101
201 promotions 102
202 sales_tax 102
204 sales_tax 103
206 sales_tax 104
207 promotions 105
208 sales_tax 105
<小时/>

订单:

order_id        order_no          order_date (converted ISO)
101 HS506 07-01-2019
102 HS507 07-02-2019
103 HS508 07-05-2019
104 HS509 07-06-2019
105 HS510 07-08-2019

这就是我想要的:

Date           Order No.         Sales Tax Amount    Promotion Amount 
07-01-2019 HS506 1.95
07-02-2019 HS507 3.15 -4.00
07-05-2019 HS508 2.95
07-06-2019 HS509 4.05 -4.00
07-08-2019 HS510 1.95

最佳答案

这就是我能为你做的。您可以在 php 中循环结果,也可以向查询添加更多条件以显示所需的输出。这取决于你。

SELECT order_date, order_no, sales_tax.tax_amount, promotions.promo_amount   
FROM orders
JOIN order_reports ON orders.order_id = order_reports.order_report_id
LEFT JOIN sales_tax ON order_reports.report_id = sales_tax.tax_id
LEFT JOIN promotions ON order_reports.report_id = promotions.promo_id
ORDER BY order_date

enter image description here

关于mysql - 需要帮助将多个 mysql 表中的数据收集到一个 php 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57224923/

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