Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать записи согласно таблице-фильтру / 2 сообщений из 2, страница 1 из 1
08.10.2013, 19:14:52
    #38420811
ne_znayka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать записи согласно таблице-фильтру
Вкратце: имеем автокаталог, разбитый по моделям , маркам и подкатегориям .

modelmarksubcategory...TOYOTACOROLLA00-06 E12...TOYOTACOROLLA07- E15...FORDFOCUS04-10 II...FORDFOCUS10-13 III...FORDFOCUS98-05 I...FORDTRANSIT00-05 V...FORDTRANSIT06-10 VI...FORDTRANSIT86-90 III...FORDTRANSIT91-99 IV...

и таблица-фильтр:


modelmarksubcategoryTOYOTAFORDFOCUSFORDTRANSIT00-05 VFORDTRANSIT06-10 VI


Хочу чтобы отображение каталога проходило по трем условиям, а именно:
1. Если в таблице-фильтр задана Модель, а марка и подкатегория = '', ТО отобразить все модели
2. Если в таблице-фильтр задана Модель и Марка, а подкатегория = '', ТО отобразить все марки данной модели
3. Если в таблице-фильтр задана Модель, Марка и Подкатегория, ТО отобразить только конкретную подкатегорию по конкретной модели и марке.

Итоговая таблица:
modelmarksubcategory...TOYOTACOROLLA00-06 E12...TOYOTACOROLLA07- E15...FORDFOCUS04-10 II...FORDFOCUS10-13 III...FORDFOCUS98-05 I...FORDTRANSIT00-05 V...FORDTRANSIT06-10 VI...
...
Рейтинг: 0 / 0
08.10.2013, 21:40:04
    #38420903
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать записи согласно таблице-фильтру
правильное решение - сделать 3-и запроса с джойном таблиц, в которых
1 - будет только джойн по model и условие mark is null and subcategory is null
2 - джойн по model и mark и усл. subcategory is null
3 - джойн по model и mark и subcategory
и соеденить их UNION-ами


----
а если нужен "вредный совет", то так :)
Код: sql
1.
2.
3.
4.
5.
6.
...
from автокаталог a
inner join фильтр b
on a.model=ifnull(b.model,a.model)
and a.mark=ifnull(b.mark,a.mark)
and a.subcategory=ifnull(b.subcategory,a.subcategory)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать записи согласно таблице-фильтру / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]