MySQL加入显示类别,子类别和子类别
问题描述:
我有三个表格:类别,子类别和子类别。MySQL加入显示类别,子类别和子类别
我想显示按照以下格式列表:
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
上面所列内容缺少CD和书籍类型,加上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
任何帮助,将不胜感激!
答
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
感谢您的快速响应。这几乎是正确的,除了为没有子项的类别显示category_name两次。具有子类别和子类别的类别正在正常工作。 – Dan 2009-07-20 16:47:48