Table 1
Category ID | Category Name
1 Lorem 1
2 Lorem 2
3 Lorem 3
Table 2
Post ID | Post Content | Category ID
1 Post 1 2
2 Post 2 2
3 Post 3 1
4 Post 4 3
Result
Categories:
Lorem 1
Lorem 2
Lorem 3
仅当该类别中有帖子时才会显示类别名称。 列表将使用li显示。
答案 0 :(得分:1)
尝试一下
SELECT DISTINCT table1.category_name
FROM table1
RIGHT JOIN table2 ON table1.category_id = table2.category_id;
答案 1 :(得分:0)
使用内部联接具有独特的优势:
select distinct CategoryName as categories from table1 a inner join table2 b
on a.categoryid=b.categoryid
答案 2 :(得分:0)
$query =
"SELECT t1.cat_name
FROM t1,t2
WHERE t1.id = t2.cat_id
GROUP BY t1.cat_name";
您应该更改表格/属性的名称,并选择自己的宗教信仰,全部选择小写或大写,并选择骆驼或蛇皮
答案 3 :(得分:0)
在DISTINCT
与GROUP BY
之间的差异不至于太深的情况下,由于您不使用聚合并且正在投影DISTINCT
语句中的特定列(有关更多详细信息,请参见此帖子:Is there any difference between GROUP BY and DISTINCT)。
有两种方法可以解决此问题。可以说,使用SELECT
是最易读的版本(如下),但是,如果您的风格通常是要运行很多子查询,那么子查询版本(以下更进一步)可能会更好地吸引您:
INNER JOIN方法:
INNER JOIN
有关活动示例,请参见SQL Fiddle:http://sqlfiddle.com/#!9/51de19/5
子查询方法:
SELECT DISTINCT t1.category_name AS categories
FROM table_1 t1
INNER JOIN table_2 t2 ON t1.category_id = t2.category_id
ORDER BY 1
有关活动示例,请参见SQL Fiddle:http://sqlfiddle.com/#!9/51de19/6
答案 4 :(得分:-1)
解决方案
SELECT DISTINCT Table_1.Category_Name FROM Table_1 LEFT JOIN Table_2 ON Table_1.Category_ID = Table_2.Category_ID