gpt4 book ai didi

php - 从 SQL 表中选择 MAX 值应用于另一个表

转载 作者:行者123 更新时间:2023-11-29 12:22:05 25 4
gpt4 key购买 nike

我的网站是 Prestashop (1.5.6.2)。

根据订购的产品数量,我的某些产品可以有较低的价格。我想在某处提及产品的最低价格(因此我需要最大程度的 Markdown 才能实现这一点)。

表1(我的价格在这个表中)

+------------+-------+
| id.product | price |
+------------+-------+
| 1 | 1000 |
+------------+-------+

表2(我的减少量在这个表中)

+------------+--------+-----------+
| id.product | amount | reduction |
+------------+--------+-----------+
| 1 | 2 | 100 |
| 1 | 3 | 200 |
| 1 | 4 | 300 |
+------------+--------+-----------+

根据这个例子,我想显示:

产品 1 700 欧元起

1000 - 300 (which is the maximum reduction on product.id 1) = 700

(我想更新现有价格,因为这是我创建的第二个字段,实际上称为 price_from 但我不想使示例过于复杂)

这是我到目前为止的代码:

UPDATE table1 
INNER JOIN table2 ON (table1.id_product = table2.id_product )
SET table1.price = table1.price - (SELECT MAX(table2.reduction) FROM table2 GROUP BY id_product)

有什么想法吗?

最佳答案

如果您只想显示修改后的价格,请使用:

select t1.id_product, (price - max_reduction) as new_price 
from table1 t1 inner join (
select id_product, max(reduction) max_reduction FROM table2
GROUP BY id_product
) t2 on t1.id_product = t2.id_product

如果您想修改价格,请尝试以下操作:

update table1 t1, (
select id_product, MAX(t2.reduction) as max_reduction
FROM table2 t2
GROUP BY id_product) t2
SET t1.price = t1.price - t2.max_reduction
WHERE t1.id_product = t2.id_product;

关于php - 从 SQL 表中选择 MAX 值应用于另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28852392/

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