关于网友提出的“将子查询改造成join连接查询”问题疑问,本网通过在网上对“将子查询改造成join连接查询”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:将子查询改造成join连接查询
描述:原来的子查询
SELECT COUNT(*) AS tp_count FROM sdb_b2c_orders WHERE pay_status='1' and createtime>1413533130 and area_code in (1030,1031,1032,1033) and member_id in (select member_id from sdb_invite_invite where in_member_id=14273 or in_member_id=13742 or in_member_id=14299) LIMIT 1
执行结果是22
使用连接查询代替上面的子查询
SELECT COUNT(*) AS tp_count FROM sdb_b2c_orders AS bo INNER JOIN sdb_invite_invite AS ii ON bo.member_id=ii.in_member_id WHERE bo.pay_status='1' AND bo.area_code IN (1030,1031,1032,1033) AND bo.createtime>1413533130 AND ii.in_member_id IN (14273,13742,14299)
执行结果却是131
解决方案1:sdb_invite_invite.in_member_id记录有重复
以上介绍了“将子查询改造成join连接查询”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1454818.html