dee*_*ell 1 mysql join left-join
我需要在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'
Run Code Online (Sandbox Code Playgroud)
结果是63项,是不对的.
解释上面的代码:
我的表equipment是我的主表,我有cod_equip field(所有我的从表的主字段).
我所有的奴隶表都给了一个叫做的前缀equip_(共有7个从属表)
现在我需要一个SELECT到JOIN所有的8个表.
添加更多:
我期待9行,但它取了63行,我需要显示这样的东西:表设备(只有1行)和其他表所拥有的尊重数量.
例如equip_adaptador插入带有两个相同的时间cod_equip,然后我需要表现出来..
此查询与我逐个查询以查看设备的内容相同.c_cn_equip ='EC726026316A0'
只是它!
在此先感谢大家!
您的ON子句应该对您要加入的表有约束.目前他们没有.因此,例如,您将在equip_adaptador.cod_equip = equipment.cod_equip的所有情况下加入equip_fonte.而且该陈述的真实性与equip_fonte中发生的事情无关.