ИнфоАптека ®

Автоматизация аптек и аптечных сетей

Инструменты пользователя

Инструменты сайта


user:vmsirenko:выборка_товаров_по_нескольким_свойствам

Выборка товаров по нескольким свойствам

Потребовалось сделать выборку по трем свойствам товаров. Если выбирать только по одному свойству, то проблем нет. Но в таблице MEDPROPS, для каждого свойства своя запись значения и при выборке по двум или более свойствам получается несколько записей с одним кодом товара. Решил проблему, подключая к таблице со справочником товаров одну и ту же таблицу свойств.

SELECT
  med.med_id,
  med.med_name
FROM medicine med
LEFT JOIN medprops mp16 ON (mp16.med_id=med.med_id AND mp16.prop_id=16)
LEFT JOIN medprops mp3 ON (mp3.med_id=med.med_id AND mp3.prop_id=3)
LEFT JOIN medprops mp1081 ON (mp1081.med_id=med.med_id AND mp1081.prop_id=1081)
WHERE (mp16.med_id IS NOT NULL AND mp3.med_id IS NOT NULL)
  OR (mp16.med_id IS NULL AND mp1081.med_id IS NOT NULL)
Только авторизованные участники могут оставлять комментарии.
user/vmsirenko/выборка_товаров_по_нескольким_свойствам.txt · Последние изменения: 2018/09/05 17:10 — Владимир Сиренко