Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 类别(自参考)、产品和品牌。如何获取与每个类别相关的品牌?_Mysql_Sql - Fatal编程技术网

Mysql 类别(自参考)、产品和品牌。如何获取与每个类别相关的品牌?

Mysql 类别(自参考)、产品和品牌。如何获取与每个类别相关的品牌?,mysql,sql,Mysql,Sql,我有三种型号:类别、产品和品牌。该类别是自引用的。我想以分层方式获取与每个类别关联的品牌名称有什么帮助吗 CREATE TABLE IF NOT EXISTS `Brand` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------

我有三种型号:类别、产品和品牌。该类别是自引用的。我想以分层方式获取与每个类别关联的品牌名称有什么帮助吗

CREATE TABLE IF NOT EXISTS `Brand` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `Category`
--

CREATE TABLE IF NOT EXISTS `Category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) DEFAULT NULL,
  `name` varchar(34) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `Product`
--

CREATE TABLE IF NOT EXISTS `Product` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category_id` int(11) NOT NULL,
  `brand_id` int(11) NOT NULL,
  `name` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Oracle提供了START WITH和CONNECT BY子句来处理层次结构。不幸的是,MySQL不支持这些子句。但是,您可以对上面提到的有些复杂的查询执行相同的操作

或者,您可以编写业务逻辑来迭代category表并获取每个类别的产品