我有三个表:类别,子类别和子子类别。
我想显示一个格式为:
的列表dvds cds cds > pop cds > blues cds > new age cds > new age > whale noises books books > cowboys books > zombies
当他们有孩子时,我已经设法显示除了他们自己的类别名称之外的所有内容,例如我得到的是:
dvds cds > pop cds > blues cds > new age > whale noises books > cowboys books > zombies
以上列表缺少cds和图书类别,以及cds>新时代子类别。
我正在使用的查询是:
SELECT
c.name AS c_name,
sc.name AS sc_name,
ssc.name AS ssc_name
FROM
categories c
LEFT JOIN
subcategories sc
ON c.id = sc.category_id
LEFT JOIN
subsubcategories ssc
ON sc.id = ssc.subcategory_id
非常感谢任何帮助!
答案 0 :(得分:1)
SELECT *
FROM (
SELECT DISTINCT
c.name AS c_name,
sc.name AS sc_name,
ssc.name AS ssc_name
FROM categories c
LEFT JOIN
subcategories sc
ON c.id = sc.category_id
LEFT JOIN
subsubcategories ssc
ON sc.id = ssc.subcategory_id
GROUP BY
c.name, sc.name, ssc.name WITH ROLLUP
HAVING c_name IS NOT NULL
) q
ORDER BY
c_name, sc_name, ssc_name