Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.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
Php 显示类别,而不重复包含帖子的每个类别_Php_Mysql_Sql - Fatal编程技术网

Php 显示类别,而不重复包含帖子的每个类别

Php 显示类别,而不重复包含帖子的每个类别,php,mysql,sql,Php,Mysql,Sql,我有类别表格: cat_id cat_name post_id post_title post_content 超过类别-发布关系表类别相关: cat_rel_id cat_id post_id 和帖子表格: cat_id cat_name post_id post_title post_content 现在我在所有这些表中都有了数据,我需要拉出类别,而不必重复那些有超过1篇帖子的类别。如果有超过1篇文章,我会以某种方式重复分类,例如: php、python、C++、java、Rub

我有类别表格:

cat_id
cat_name
post_id
post_title
post_content
超过类别-发布关系表类别相关

cat_rel_id
cat_id
post_id
帖子表格:

cat_id
cat_name
post_id
post_title
post_content
现在我在所有这些表中都有了数据,我需要拉出类别,而不必重复那些有超过1篇帖子的类别。如果有超过1篇文章,我会以某种方式重复分类,例如:

php、python、C++、java、Ruby < /P> 如果我在PHP下有2篇文章,我将得到:

php python php 爪哇

这是我运行的查询:

SELECT categories.cat_name, cat_rel.post_id 
FROM categories 
LEFT JOIN cat_rel ON cat_rel.cat_ID = categories.cat_ID
如果您能帮助我们避免重复这些分类,我们将不胜感激

请看这里:

这将列出包含多个帖子的类别:

SELECT  categories.cat_name as Category
,       count(distinct cat_rel.post_id) as PostCount
FROM    categories 
LEFT JOIN cat_rel 
ON      cat_rel.cat_ID = categories.cat_ID
GROUP BY categories.cat_name
HAVING  count(distinct cat_rel.post_id) > 1
试试这个:

选择不同的类别。类别名称,类别关系。职位id
从类别
左连接cat_rel ON cat_rel.cat_ID=categories.cat_ID

OP希望退出所有类别,而不重复那些有一个以上帖子的类别,而不是退出所有有一个以上帖子的类别。@MGA:那他为什么要加入
cat_rel
?只要
从类别中选择cat\u name
就可以拉出所有类别。我不知道,但这就是他在问题中所说的,无论如何,我认为你应该删除
HAVING count(不同的cat\u rel.post\u id)>1
来自您的查询。lol@Andomar我刚看了一下代码,我发现简单的
从类别中选择类别名称
会起作用,我不知道为什么我加入了这个表,我是个白痴
distinct
适用于所有列,所以
distinct cat\u name,post\u id
仍然会重复类别