Как использовать предложение where, где значения в столбцах не являются явными в SQL?

0

У меня есть столбец ограничений, который содержит как пол, так и возраст. Я мог бы использовать предложение WHERE для "MEN" и "WOMEN", чтобы возвращать только строки, удовлетворяющие условию. Но этот столбец ограничения также содержит возрастной диапазон, такой как "Подросток", "Взрослый" и "Старший", поэтому я не уверен, как указать предложение WHERE. Иногда ограничения по гендерному и возрастному диапазонам не определены, например, для списка строк, который удовлетворяет условию "МУЖЧИНА", все неуказанные столбцы также должны быть возвращены.

Пример столбца:

Ограничение:

-MEN

-WOMEN

-WOMEN/подросток

-Anyone

-MEN/Старший

-Senior

ограничительные столбцы

  • 2
    Отредактируйте свой вопрос и предоставьте образцы данных и желаемых результатов.
  • 0
    Когда вы получаете абстрактные вещи, такие как «Подросток», у вас нет никакой гендерной информации так же, как у вас нет информации о возрасте, если все ваши данные предоставляют информацию о поле. Это показывает, почему очистка и разделение данных важны. Невозможно сделать эту работу (верно) из-за отсутствия данных (и моделирования данных)
Теги:

1 ответ

0

Я предлагаю использовать оператор LIKE. Ниже приводятся некоторые примеры для WHERE:

  1. Чтобы получить все поля Men: WHERE YOUR_CLM LIKE 'MEN%'
  2. Чтобы получить все поля для взрослых: WHERE YOUR_CLM LIKE '%Adult'
  3. Чтобы получить все поля не старших женщин: WHERE YOUR_CLM NOT LIKE '%Senior' AND YOUR_CLM LIKE 'WOMEN%'

ПРИМЕЧАНИЕ. Если вам разрешено вносить изменения в схему базы данных, я бы рекомендовал разделить этот столбец на два столбца один по возрасту, а другой для пола, каждый столбец представлен идентификатором, который представляет значение, хранящееся в списке, из-значений таблицы (например, GendersLOV стол, AgeLOV таблица)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню