Задавайте вопросы, мы ответим
Вы не зашли.
Для хранения артиклей входящих в заказ использую таблицу (order_item)
CREATE TABLE `order_item` (
`id_order` int(11) NOT NULL,
`id_item` int(11) NOT NULL,
`item_type` varchar(15) NOT NULL,
`item_index` tinyint(2) unsigned NOT NULL,
`quantity` smallint(4) unsigned NOT NULL,
PRIMARY KEY (`id_order`,`id_item`,`item_type`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
`item_type` - содержит название таблицы в которой содержатсяя данные по артиклю (т.е. service, excursion или accomodation)
Сами же артикли ввиду того что имеют разный характеристики я храну в разных таблицах (service, excursion, accomodation)
CREATE TABLE `excursion` (
`id_item` int(11) NOT NULL auto_increment,
`name` varchar(255) default NULL
...
параметры
...
PRIMARY KEY (`id_e`),
UNIQUE KEY `NewIndex` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
таким же образом реалезованы и (service, accomodation)
Вопрос такой: Как по id_order получить список артиклей входящих в заказ?
учитывая что id_item уникален только для своей таблици
Неактивен
SELECT * FROM `order_item`
LEFT JOIN `service` ON `service`.`id_item`=`order_item`.`id_item` AND `order_item`.`item_type`='service'
LEFT JOIN `excursion` ON `excursion`.`id_item`=`order_item`.`id_item` AND `order_item`.`item_type`='excursion'
LEFT JOIN `accomodation` ON `accomodation`.`id_item`=`order_item`.`id_item` AND `order_item`.`item_type`='accomodation'
WHERE `order_item`.`id_order`=1
Сами же артикли ввиду того что имеют разный характеристики я храну в разных таблицах
это не правильно... лучше для характеристик сделать отдельную таблицу
Неактивен
verybadbug написал:
SELECT * FROM `order_item`
LEFT JOIN `service` ON `service`.`id_item`=`order_item`.`id_item` AND `order_item`.`item_type`='service'
LEFT JOIN `excursion` ON `excursion`.`id_item`=`order_item`.`id_item` AND `order_item`.`item_type`='excursion'
LEFT JOIN `accomodation` ON `accomodation`.`id_item`=`order_item`.`id_item` AND `order_item`.`item_type`='accomodation'
WHERE `order_item`.`id_order`=1Сами же артикли ввиду того что имеют разный характеристики я храну в разных таблицах
это не правильно... лучше для характеристик сделать отдельную таблицу
a kak hot` priblizitelno v takom slychae dolgni vigljadet` tablizi artikli i ih parametri ?
Неактивен