Slon747
Новичок
Связывание таблиц
MySQL 5.0.77
Не смог в теме четко указать суть вопроса.
Ситуация такая.
Есть магазин и несколько типов цен (розничная, оптовая и пр).
Тип цены (PriceType) для покупателя определяется исходя из вида товара (GroupItem).
В случае, если покупатель находится в определеной группе товара (вид товара заведомо известен), всё просто.
Зная вид товара, я соединяю товар с ценами с наложением условия на PriceType:
Но в некоторых случаях нужно показать товар сразу нескольких видов.
Как быть в таком случае?
Не хочется для каждой позиции товара выполнять отдельный запрос.
Можно ли как-то элегантнее решить эту задачу?
Таблица `items` - номенклатура (GroupItem - тип товара).
Таблица `prices` - цены (PriceType - тип цены, Item-ссылка товара, Price-цена)
Таблица `price_politics` - условия цены для покупателя (Customer-ссылка покупателя, GroupItem - вид товара, PriceType-тип цены).
MySQL 5.0.77
Не смог в теме четко указать суть вопроса.
Ситуация такая.
Есть магазин и несколько типов цен (розничная, оптовая и пр).
Тип цены (PriceType) для покупателя определяется исходя из вида товара (GroupItem).
В случае, если покупатель находится в определеной группе товара (вид товара заведомо известен), всё просто.
Зная вид товара, я соединяю товар с ценами с наложением условия на PriceType:
PHP:
SELECT
items.*, Price
FROM
items
INNER JOIN prices ON prices.Item = items.id AND PriceType=2
WHERE
items.Parent = 176
Как быть в таком случае?
Не хочется для каждой позиции товара выполнять отдельный запрос.
Можно ли как-то элегантнее решить эту задачу?
PHP:
CREATE TABLE items(
Id VARCHAR(32) DEFAULT '0',
GroupItem SMALLINT(6) NOT NULL,
Parent INT(11) NOT NULL,
PRIMARY KEY (Id)
)
CREATE TABLE prices(
Id INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
PriceType INT(4) NOT NULL DEFAULT 0,
Item CHAR(32) NOT NULL DEFAULT '0',
Price DOUBLE (9, 2) NOT NULL DEFAULT 0.00,
PRIMARY KEY (Id)
)
CREATE TABLE price_politics(
Id INT(11) NOT NULL AUTO_INCREMENT,
Customer CHAR(32) NOT NULL,
GroupItem SMALLINT(6) NOT NULL,
PriceType SMALLINT(6) NOT NULL,
PRIMARY KEY (Id)
)
Таблица `prices` - цены (PriceType - тип цены, Item-ссылка товара, Price-цена)
Таблица `price_politics` - условия цены для покупателя (Customer-ссылка покупателя, GroupItem - вид товара, PriceType-тип цены).