Просмотр поста

.
kantry
Hey guys! Finally I'm gonna change status!?

dilp, Если объем таблиц не огромный, то лучше как то так сделать

структура (+/-)
--
-- Структура таблицы `category`
--

CREATE TABLE IF NOT EXISTS `category` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

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

--
-- Структура таблицы `magazin`
--

CREATE TABLE IF NOT EXISTS `magazin` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `parent_id` int(10) unsigned NOT NULL,
  `data_m` varchar(32) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

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

--
-- Структура таблицы `sklad`
--

CREATE TABLE IF NOT EXISTS `sklad` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `parent_id` int(10) unsigned NOT NULL,
  `data_s` varchar(32) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

пример запроса
SELECT c.`name`, GROUP_CONCAT(distinct st.`data_s`) as `stock`, GROUP_CONCAT(distinct m.`data_m`) as `mag` FROM `category` c join sklad st ON st.parent_id=c.id join magazin m ON m.parent_id=c.id GROUP BY c.`name`
Прикрепленные файлы: