У меня есть следующие таблицы:
CREATE TABLE `db_make` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` char(24) DEFAULT NULL,
`status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `ams`.`db_make`
(`id`,
`title`,
`status`)
VALUES
('1', 'DELL', '1'), ('2', 'SAMSUNG', '1'), ('3', 'APPLE', '1');
CREATE TABLE `db_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` char(24) DEFAULT NULL,
`status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
INSERT INTO `ams`.`db_category`
(`id`,
`title`,
`status`)
VALUES
('1', 'LAPTOP', '1'), ('2', 'MOBILE', '1');
CREATE TABLE `db_model` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` char(24) DEFAULT NULL,
`status` char(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `ams`.`db_model`
(`id`,
`title`,
`status`)
VALUES
('1', 'INSPIRON', '1'), ('2', 'IPHONE', '1'), ('3', 'MACBOOK', '1'), ('4', 'NOTEBOOK', '1'), ('5', 'GALAXY', '1');
CREATE TABLE `db_items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`status` char(1) DEFAULT NULL,
`title` text,
`make` int(11) DEFAULT NULL,
`model` int(11) DEFAULT NULL,
`category` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
CREATE TABLE `db_vendoritem` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`vendorid` int(11) DEFAULT NULL,
`category` int(11) DEFAULT NULL,
`make` int(11) DEFAULT NULL,
`model` int(11) DEFAULT NULL,
`item` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
INSERT INTO `ams`.`db_items`
(`id`,
`status`,
`title`,
`make`,
`model`,
`category`,)
VALUES
('1', '1', '5000 Series', '1', '1', '1');
INSERT INTO `ams`.`db_vendoritem`
(`id`,
`vendorid`,
`category`,
`make`,
`model`,
`item`)
VALUES
('1', '1', '1', null, null, null), ('2', '1', '1', '1', null, null), ('3', '1', null, '2', null, null), ('4', '1', null, null, '3', null), ('5', '1', '1', '1', '1', '1');
Продавец может специализироваться на модели, марке, категории или изделии - любой из них или любой их комбинации. В указанном выше поставщике данных с id - 1 специализируется (извините за данные)
- all DELL products,
- all DELL laptops,
- all laptops,
- all Inspiron laptops
Мне нужен запрос, который печатает - vendorid, сделать заголовок, заголовок категории, заголовок модели, заголовок элемента для всех строк в db_vendoritem как показано ниже:
1, DELL, , , ;
1, DELL, LAPTOP, , ;
1, , MOBILE, , ;
1, , , MACBOOK, ;
1, DELL, LAPTOP, INSPIRON, 5000 series;