многоуровневый запрос в базу mysql

222
01 февраля 2018, 19:18

есть 3 таблицы

CREATE TABLE IF NOT EXISTS `category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10;
CREATE TABLE IF NOT EXISTS `category_typeadverts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_category` int(11) NOT NULL,
  `id_type` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
CREATE TABLE IF NOT EXISTS `type_adverts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `type_title` varchar(64) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ;

как составить запрос таким образом, или как сделать так с помощью обработчика чтоб выбрать из таблицы type_adverts все записи и для каждой этой записи выбрать id и title (один элемент может содержать несколько строк из таблицы category) из таблицы category, тогда как связаны эти две таблицы в третьей category_typeadverts

Answer 1

Чем не подошел вариант просто всё приджойнить друг к другу?

SELECT ta.*, category.*
FROM type_adverts ta JOIN category_typeadverts ct ON(ta.id = ct.id_type) 
JOIN category ON (category.id = ct.id_category);

http://sqlfiddle.com/#!9/f7e211/1

READ ALSO
Как изменить js скрипт wordpress плагина?

Как изменить js скрипт wordpress плагина?

Использую плагин Strong Testimonial, нужно немного изменить функционал js скрипта, как это правильно сделать, что бы и после обновления плагина все...

230
Как сделать проверку товара в каталоге?

Как сделать проверку товара в каталоге?

В данный момент есть категория "Номер 1" в нее входят подкатегории "Номер 11" "Номер 1

278
Коннект к websocket php

Коннект к websocket php

Добрый деньТакая проблема

203