Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql连接语句_Mysql - Fatal编程技术网

mysql连接语句

mysql连接语句,mysql,Mysql,我有一个分类页面,我在其中显示特定类别下的所有图像…我还有一个下拉列表,使用它我可以根据为该图像编写的故事数对图像进行排序。。。 为了实现这一点,我使用连接语句,因为媒体和故事是两个不同的表 media table has mediaid,catid,userid,link 及 我正在以这种方式使用JOIN语句 SELECT count(story.id) as cnt,story.mediaid as id,media.cat_id,media.link,media.userid FROM

我有一个分类页面,我在其中显示特定类别下的所有图像…我还有一个下拉列表,使用它我可以根据为该图像编写的故事数对图像进行排序。。。 为了实现这一点,我使用连接语句,因为媒体和故事是两个不同的表

media table has mediaid,catid,userid,link

我正在以这种方式使用JOIN语句

SELECT count(story.id) as cnt,story.mediaid as id,media.cat_id,media.link,media.userid 
FROM story RIGHT JOIN 
media ON story.mediaid=media.mediaid where cat_id='25' group by story.mediaid order by cnt desc limit 0,8
但是我只得到有故事的图像…我想要所有的结果,这样即使某个特定的图像没有故事,我们也可以显示0个故事…我们可以通过不改变表结构而只改变sql语句来实现吗??
请帮助…-

正确的加入是可以的,
按故事分组是个问题:你想按图像分组,不是吗


请尝试按媒体分组。请改为按媒体ID分组

您需要翻转SQL并改用左连接:

SELECT count(story.id) as cnt, media.mediaid, media.catid, media.userid, media.link
  FROM media LEFT OUTER JOIN story ON media.mediaid = story.mediaid
 WHERE media.catid = '25'
 GROUP BY media.mediaid, media.catid, media.userid, media.link
 ORDER BY cnt DESC
SELECT count(story.id) as cnt, media.mediaid, media.catid, media.userid, media.link
  FROM media LEFT OUTER JOIN story ON media.mediaid = story.mediaid
 WHERE media.catid = '25'
 GROUP BY media.mediaid, media.catid, media.userid, media.link
 ORDER BY cnt DESC