Jump to content

IMDb

Newbie
  • Posts

    3
  • Joined

  • Last visited

Everything posted by IMDb

  1. IMDb

    Excel в HTML

    При создании сводного прайса от поставщиков для своего интернет-магазина использую программу iNETsHOP, ее можно настроить под структуру каждого прайса и залить все товары прайс-листов в общую базу данных ​ ​ ​потом в ней легко объединять дубли товаров от разных поставщиков или по названиям или по артикулам ​ ​
  2. Вся суть релляционных баз данных состоит как раз в этом. Если вы не можете в ЦМС магазина скрыть товар который вышел из оборота чтоб она не мешал - это недоработка самой ЦМС. Если вы хотите чтобы при удалении товара удалялись все записи в других таблицах (заказы например) - то настройте автоматическое удаление в самой СУБД. Или на крайний случай обнуление ссылающегося поля.
  3. Как то вы заморочились ... SELECT DISTINCT *FROM table t1LEFT JOIN table t2 ON (t2.product_id = t1.product_id)LEFT JOIN table t3 ON (t3.product_id = t1.product_id)WHERE t1.id_propertie = 100 AND t1.select_value = 2 AND t2.id_propertie = 200 AND t2.select_value = 1 AND t3.id_propertie = 300 AND t3.select_value = 8 ​Если таблица товаров большая, то по идее может быть имеет смысл использовать EXISTS, например SELECT * FROM table t WHERE EXISTS (SELECT 1 FROM table t1 WHERE t.product_id = t1.product_id AND t1.id_propertie = 100 AND t1.select_value = 2) AND EXISTS (SELECT 1 FROM table t2 WHERE t.product_id = t2.product_id AND t2.id_propertie = 100 AND t2.select_value = 2) AND EXISTS (SELECT 1 FROM table t3 WHERE t.product_id = t3.product_id AND t3.id_propertie = 100 AND t3.select_value = 8) заодно уберем DISTINCT. Если пары id_propertie и select_value встречаются только по одному разу, можно сделать через подзапрос SELECT product_id FROM table t WHERE ( SELECT product_id FROM table t1 WHERE (t1.product_id AND t1.id_propertie = 100 AND t1.select_value = 2) OR (t1.product_id AND t1.id_propertie = 100 AND t1.select_value = 3) OR (t1.product_id AND t1.id_propertie = 100 AND t1.select_value = 8) HAVING count(product_id) =3 ) t2 WHERE t.product_id = t2.product_id ​Если требуется показать колоичество записей в выборке, но не хочется выполнять громоздние запросы два раза - сохраните результат поиска во временной таблице, в пользователю покажите таблицу из нее и количество записей в ней.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy