我有一個相當簡單的查詢,我嘗試編寫。當我嘗試從兩個表中加入數據時,行會丟失
如果我運行下面的查詢:
SELECT parts.id, parts.type_id
FROM parts
WHERE parts.type_id=1
OR parts.type_id=2
OR parts.type_id=4
ORDER BY parts.type_id;
我去退還所有我所期望的行。現在,當我試圖抓住從另一個表parent_unit用下面的查詢六行突然掉出結果:
SELECT parts.id, parts.type_id, sp.parent_unit
FROM parts, serialized_parts sp
WHERE (parts.type_id=1 OR parts.type_id=2 OR parts.type_id=4)
AND sp.parts_id = parts.id
ORDER BY parts.type_id
在過去,我從來沒有真正在我的查詢處理的手術室所以我可能只是做錯了。這就是說,我猜這只是一個簡單的錯誤。讓我知道你是否需要樣本數據,我會發布一些。謝謝。
請學會使用顯式連接。 – HLGEM 2010-06-08 19:24:24
支持HLGEM的評論,請參閱:http://stackoverflow.com/questions/2241991/in-mysql-queries-why-use-join-instead-of-where – 2010-06-08 19:26:24