SQL语句的in的用法问题!
___紫菜 2014-05-05 04:32:22 SELECT count(*) FROM proof INNER JOIN template ON proof.TemplateID = template.TemplateID
INNER JOIN template_to_product_new ON template.TemplateID = template_to_product_new.TemplateID
INNER JOIN order_proof ON proof.idProof = order_proof.idProof LEFT JOIN(SELECT DISTINCT idProof FROM order_product_new
INNER JOIN order_main ON order_product_new.OrderID = order_main.OrderID AND order_product_new.Order_Version = order_main.Order_Version
WHERE order_main.OrderID = 'GB-00004-14'
AND order_product_new.idProduct in (1,2,7,40,345)
AND order_product_new.OptionID in (1,868,1,13,10)
AND order_product_new.idProof != 0) p ON proof.idProof = p.idProof
WHERE order_proof.OrderID = 'GB-00004-14'
AND template_to_product_new.idProduct in (1,2,7,40,345) AND p.idProof
IS NULL AND proof.isDeleted = 0 ORDER BY isApproved DESC, isApprovedDateTime DESC LIMIT 1;
这样是不对的!结果应该绝对是小于等于5的,但是这个结果是16。in的结果我是用sql在另一个表查询出来的,如果用循环就太慢了。请教大神该怎么处理这个!