Помогите составить запрос

Статус
В этой теме нельзя размещать новые ответы.
Надо условие забить:
(id_прикола = 1 or id_прикола = 2) and (id_прикола = 3 or id_прикола = 4)
в данном случае просто всё выводится где есть несколько опций
Мммм я наверное не верно понял сабж.
Но если вам необходимо выбирать типа по фильтрам (как в примере) то вот так к примеру:
Код:
select t.*, p.* from tovar as t 
inner join prikols as p on t.id_tovar=p.id_tovar
where p.id_prikol in (перечисление необходимых id);
 
Мммм я наверное не верно понял сабж.
Но если вам необходимо выбирать типа по фильтрам (как в примере) то вот так к примеру:
Код:
select t.*, p.* from tovar as t 
inner join prikols as p on t.id_tovar=p.id_tovar
where p.id_prikol in (перечисление необходимых id);
в данном случае товары выбираются где есть опции по отдельности.

В общем у меня уже доходило до маразма:
Код:
select distinct(w1.id), w1.name from 
dnd_watch as w1 left join dnd_watch_options_to_tov wtt1 on wtt1.tov_id = w1.id 
where
(SELECT count(*) FROM `dnd_watch` w left join dnd_watch_options_to_tov wtt on w.id = wtt.tov_id where
wtt.option_id in (4,6) and w.id=w1.id) = 2 and wtt1.option_id in (2,7)



По поводу базы если интересно:


dnd_watch - сами товары
dnd_watch_options - группы опций (
dnd_watch_options_values - значения опций
dnd_watch_options_to_cats - связка значений опций к группам
dnd_watch_options_to_tov - связка значений опций к самим товарам

как по мне база довольно простая, а вот с выборкой жопа какае-то.

В общем единственный выход я пока вижу создать таблицу с id товара и альтерить её добавляя к ней кучу столбиков с опциями, тогда выборку можно будет делать элементарно по одному рядку.
 
Напиши теперь словами из каких приведенных выше таблиц что нужно выбрать и по каким условиям. И желательно сразу с примером.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху