gpt4 book ai didi

mysql - 多表 MySQL 查询返回太多结果

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

我需要在 8 个表中执行 SELECT,但结果不是我预期的。

丑陋的代码:

SELECT equipment.*
FROM equipment
LEFT JOIN equip_adaptador a ON (a.cod_equip = equipment.cod_equip)
LEFT JOIN equip_antena aa ON (aa.cod_equip = equipment.cod_equip)
LEFT JOIN equip_cable c ON (c.cod_equip = equipment.cod_equip)
LEFT JOIN equip_conector cc ON (cc.cod_equip = equipment.cod_equip)
LEFT JOIN equip_fonte f ON (f.cod_equip = equipment.cod_equip)
LEFT JOIN equip_router r ON (r.cod_equip = equipment.cod_equip)
LEFT JOIN equip_suporte s ON (s.cod_equip = equipment.cod_equip)
WHERE equipment.cod_equip = 'EC726026316A0'

结果是63条,不对。

解释上面的代码:

我的表 equipment 是我的主表,那里有 cod_equip 字段(我所有从表的主字段)。

我所有的从表我都给了一个名为equip_的前缀(总共有7个从表)

现在我需要一个 SELECTJOIN 所有 8 个表。

添加更多:

我期待 9 行,但它获取了 63 行,我需要显示这样的东西:表设备(只有 1 行)和它拥有的尊重编号的其他表。

例如 equip_adaptador 被插入两次相同的 cod_equip,那么我需要展示它..

此查询与我逐一查询以查看我对 equipment.cod_equip = 'EC726026316A0'

的查询相同

就是这样!

在此先感谢大家!

最佳答案

您的 ON 子句应该对您要连接的表有约束。目前他们没有。因此,例如,您将在 equip_adaptador.cod_equip = equipment.cod_equip 的所有情况下加入 equip_fonte。该声明的真实性与 equip_fonte 中发生的事情无关。

关于mysql - 多表 MySQL 查询返回太多结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5122433/

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