gpt4 book ai didi

mysql - 如何用 'table a' .'column b' 替换 'table b' .'column b' 如果 'table a' .'column a' 匹配 'table b' .'column a'

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

我有如下 2 个表:-

表A

-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |

表 B

-------------------------------
| product_id | price_discount |
-------------------------------
| 1 | 1.8000 |

如何使用 select 语句为上面提到的 2 个表选择价格范围?

示例:- SELECT * FROM TABLE A WHERE **price or price discount** BETWEEN AND 2;

由于 product_id 的 discount_price = 1.8(在 0 到 2 价格范围内),预期结果将显示。

 -------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |

请帮忙。谢谢。

最佳答案

两个表之间的简单 LEFT JOIN 可能就足够了。 LEFT JOIN 完成是因为我们可以在两个表之间有不匹配的行。

编辑:以前的版本对 tb.price_discount IS NOT NULL 进行了额外检查;但确实不需要,BETWEEN..AND 就足够了。

OR 中有解释运算 rune 档,即 1 OR NULL = 1

SELECT ta.*
FROM tablea AS ta
LEFT JOIN tableb AS tb
ON ta.product_id = tb.product_id
WHERE ta.price BETWEEN 0 AND 2
OR
tb.price_discount BETWEEN 0 AND 2

上述解决方案是基于假设在tableb 中将有0 或1 行对应于product_id。如果可以有更多,则可能需要 GROUP BY

关于mysql - 如何用 'table a' .'column b' 替换 'table b' .'column b' 如果 'table a' .'column a' 匹配 'table b' .'column a',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53531583/

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