У меня есть таблица с продуктами, и пользователь может выбрать, в каких регионах и городах он хочет позволить им быть видимыми. Он может выбрать ВСЕ РЕГИОНЫ и ВСЕ ГОРОДА из раскрывающегося меню, а затем я поставлю столбцы = 0.
Покупатели могут выбрать, в каком городе они хотят смотреть товары, поэтому у них есть раскрывающееся меню, чтобы выбрать регион и/или город. и они также могут выбирать товары из ВСЕХ РЕГИОНОВ и/или городов.
Вопрос в том, как будет выглядеть этот расширенный запрос.
Если продавец нажал на один конкретный регион, но все города, то, если покупатель выбирает этот регион, он может выбрать какой бы город он ни захотел. этот продукт будет отображаться.
Покупатель может вместо выбора города выбрать ВСЕ ГОРОДА. например. то он увидит все темы, несмотря на то, в какой город они отправили.
Я новичок в SQL, поэтому было бы хорошо, если бы вы посоветовали мне выбрать правильные команды для этого запроса. Это было немного сложно для меня, я не знаю, с чего начать.
Думаю, я понимаю, что вы имеете в виду. В вашем запросе могут быть два аргумента: один для города и один для региона.
В раскрывающемся меню города, если пользователь выбирает город, скажем, в Лос-Анджелесе, тогда аргумент @city будет содержать город (скажем, код типа LAX). Если они выбирают "Все города", то аргумент @city будет иметь значение NULL.
То же самое для области.
Тогда ваш запрос может выглядеть примерно так:
SELECT ...
FROM city_tbl
INNER join region_tbl ON ...
WHERE ( @city IS NULL or @city = city_tbl.city_code )
AND ( @region IS NULL or @region = region_tbl.region_code )
AND ...
Итак, если они выбрали "Все города", @city будет NULL, и они увидят все, иначе их выбор конкретного города должен быть сопоставлен с city_tbl.city_code.
Я подозреваю, что у вас есть что-то более сложное в виду, но, надеюсь, это на правильном пути.