mysql连表时使用count数据不对

J2EE 码拜 9年前 (2016-06-09) 1300次浏览
表1
mysql连表时使用count数据不对
表2
mysql连表时使用count数据不对
表1的id和表2的comicId对应,本人现在要查表1的全部字段,然后连接表2,type为1的数量*5和type为2的数量之和,本人之前这样写的
SELECT * FROM 表1 a LEFT JOIN (SELECT c.id as comicID,COUNT(cv.id)*5+COUNT(cv2.id) AS vote FROM 表1 c INNER JOIN 表2 cv ON c.id=cv.comicId AND cv.type=1 INNER JOIN 表2 cv2 ON c.id=cv2.comicId AND cv2.type=2 WHERE `status`=1) b ON a.id=b.comicID where a.`status`=1
但是结果不对
解决方案

10

在别名表b内部,你先是做了一个内联接得到type=1的数据,紧接着又做了一个type为2的内联接,本人想得到新表应该是一张空表吧

30

SELECT c.id ,COUNT(cv.id)*5+COUNT(cv2.id)  FROM 表1 c , 表2 cv,表2 cv2 where cv ON c.id=cv.comicId AND cv.type=1  AND c.id=cv2.comicId AND cv2.type=2 AND c.status=1
重新写了个b,试试,毕竟测不了mysql连表时使用count数据不对

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql连表时使用count数据不对
喜欢 (0)
[1034331897@qq.com]
分享 (0)