如何获得具有类别细节的子类别?

时间:2011-03-25 13:09:29

标签: mysql sql

我有两张桌子。

tb_category表

CREATE TABLE IF NOT EXISTS `tb_category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) 

tb_subcategory表

CREATE TABLE IF NOT EXISTS `tb_subcategory` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category_id` int(11) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) 

我希望获得包含父类别详细信息的所选类别的子类别。

所以我需要在单个查询中获取指定的类别行及其子类别

提前致谢

2 个答案:

答案 0 :(得分:1)

SELECT c.name catname,c.id cat, s.id subcat, s.name subname
FROM tb_category c LEFT JOIN tb_subcategory s ON c.id = s.category_id
WHERE c.id = <category>;

这将提取单个类别记录,id =和所有相关的子类别记录。

输出类似于:

catname         cat     subcat     subname
Category-10     10      1          Cat-10 Subcat-1
Category-10     10      2          Cat-10 Subcat-2
Category-10     10      3          Cat-10 Subcat-3

答案 1 :(得分:1)

尝试使用JOIN子句编写查询,并通过tb_category.id和tb_subcategory.category_id字段绑定行。