我需要在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