gpt4 book ai didi

mysql - 通过比较列值来查询 3 个表,并且没有主键或外键关系

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

我有 3 个表 A、B 和 C。表 A 包含产品详细信息,其中没有价格列。表 B 和 C 包含产品详细信息,其中包含价格列。

表 A 中的产品可能出现在表 B 或 C 中,也可能不出现。

如果表 A 的产品出现在表 B 或 C 中,我想获取它的最低价格,并从 B 或 C 中选择最低价格

假设表 A 具有 Property1 、 Property2 和 Property3

<小时/>

表 B 包含价格、属性 1、属性 2 和属性 3

<小时/>

表 C 包含价格、属性 1、属性 2 和属性 3

从表 B 或 C 中获取产品的最低价格,以 A.properties 与 B 和 C 的属性匹配的价格为准

如何查询这个。

最佳答案

试试这个:

SELECT big.prop1, big.prop2, MIN(big.price)
FROM (
SELECT a.prop1, a.prop2, b.price
FROM TableA a
INNER JOIN TableB b ON a.prop1 = b.prop1 AND a.prop2 = b.prop2

UNION

SELECT a.prop1, a.prop2, c.price
FROM TableA a
INNER JOIN TableC c ON a.prop1 = c.prop1 AND a.prop2 = c.prop2
) AS Big
GROUP BY big.prop1, big.prop2

但是,这是不好的做法,每个组合和属性都需要外键来连接表。

关于mysql - 通过比较列值来查询 3 个表,并且没有主键或外键关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36325200/

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