0

我有类别表:

cat_id
cat_name

比类别 - 帖子关系表cat_rel

cat_rel_id
cat_id
post_id

帖子表:

post_id
post_title
post_content

现在我在所有这些表中都有数据,我需要提取类别而不重复那些超过 1 个帖子的类别。如果它有超过 1 个帖子,我会以某种方式重复类别,例如。类别如:

php,python,c++,java,红宝石

如果我在 PHP 下有 2 个帖子,我会得到:

php 蟒蛇 php java

这是我运行的查询:

SELECT categories.cat_name, cat_rel.post_id 
FROM categories 
LEFT JOIN cat_rel ON cat_rel.cat_ID = categories.cat_ID

任何有关使这些类别不再重复的帮助,将不胜感激

4

3 回答 3

0

使用 DISTINCT

看看这里: SQL SELECT DISTINCT 语句

于 2012-04-21T13:59:48.460 回答
0

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

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
于 2012-04-21T14:00:40.613 回答
0

试试这个:

SELECT DISTINCT categories.cat_name, cat_rel.post_id 
FROM categories 
LEFT JOIN cat_rel ON cat_rel.cat_ID = categories.cat_ID
于 2012-04-21T14:09:48.033 回答