我需要在8个表中做一个SELECT,但结果不是我所期望的。多表MySQL查询返回的结果太多
丑陋的代码:
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项,是不对的。
Explainig上面的代码:
我的表equipment
是我主表,在那里我有cod_equip field
(主场我所有从表)。
我所有的从表我已经给了一个叫equip_
前缀(是在总 7个从表)
现在我需要一个SELECT
到JOIN
所有8台。
添加更多:
我期待9行,但它获取63行,我需要表现出这样的事情:表设备(只有1行)和其他表尊重号吧拥有。
例如equip_adaptador插入具有相同cod_equip两次,然后我需要表现出来..
该查询是一样的,如果我做逐一查询,看看我有什么与equipment.cod_equip ='EC726026316A0'
就是这样!
在此先感谢人!
是什么让你觉得这是不对的?你有多少行? – Dismissile 2011-02-25 20:48:06
预期结果是什么?编辑:Aww打败了我25秒 – Shaded 2011-02-25 20:48:30
@Dismissile我期待9行,但它取得63行,我需要显示这样的东西:设备(只有1行)和其他表的尊重号码拥有。例如equip_adaptador是两次插入相同的cod_equip,然后我需要显示它.. – B4NZ41 2011-02-25 21:00:35