我有一个相当简单的查询,我尝试编写。当我尝试从两个表中加入数据时,行会丢失
如果我运行下面的查询:
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