Выбор уникальных позиций с условием (MySQL)
В одной таблице находится описание товаров, в другой Цена, Кол-во, Поставщик.. Таблицы связаны между собой по 'Cid' - ID товара. У разных поставщиков есть одинаковые товары, но с разными ценами и наличием на складе. Нужно выбрать уникальные позиции товаров с таким условием:
1) Если у нескольких поставщиков в наличии более 3 штук, то выбрать меньшую цену.
2) Если у нескольких поставщиков в наличии менее 3 штук, то выбрать большую цену.
3) Если всего один поставщик имеет > 3 в наличии, то берем его цену.
CREATE TABLE `ARTICLE` (
`Id` mediumint(9) NOT NULL auto_increment,
`Cid` varchar(25) NOT NULL default '',
`Firm` varchar(150) NOT NULL default '',
`Quantity` varchar(10) NOT NULL default '',
`Price` varchar(10) NOT NULL default '',
`Val` char(5) NOT NULL default '',
`Date` date NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=MyISAM;
CREATE TABLE `PARAM` (
`Cid` varchar(25) NOT NULL default '',
`Brand` varchar(50) NOT NULL default '',
`Model` varchar(150) NOT NULL default '',
`Param` varchar(50) NOT NULL,
`Ratio` int(11) NOT NULL default '0',
`Show` char(1) NOT NULL default '1',
UNIQUE KEY `Cid` (`Cid`)
) ENGINE=MyISAM;
Готов предложить 5-10 WMZ + отзыв.
