有两张表,一张产品表(product),一张分类表(category)
产品表有三个字段id,name,cat_id(分类id)
分类表有三个字段id,name,parent_id(父类id)
我现在要查每一个分类的一个产品,如果某个分类没有产品,就用特殊字符表示(0或者null的都可以)有些分类没有数据
CREATE TABLE `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`cat_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
产品表有三个字段id,name,cat_id(分类id)
分类表有三个字段id,name,parent_id(父类id)
我现在要查每一个分类的一个产品,如果某个分类没有产品,就用特殊字符表示(0或者null的都可以)有些分类没有数据
CREATE TABLE `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`cat_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
SELECT c.name,MAX(p.name) FROM category AS c
LEFT JOIN product AS p
ON p.cat_id=c.id
GROUP BY c.name
from category left join product where category.id=product.cat_id(
group by category.id=