Получение значений обоих состояний из одного поля в MySQL - PullRequest
0 голосов
/ 16 ноября 2011

Здесь я пытаюсь получить значения из таблицы MySQL с именем лидерства.и диапазон дат хранится в двух переменных.

дата начала хранится в $ from, а дата окончания - в $ to.

Status - это поле в начале таблицы.

Я хочу получить данные в диапазоне дат и состоянии Горячий и статус Платный

Я попытался выполнить следующий запрос, но он не работает должным образомпожалуйста, поправьте меня, где я не прав.

select * from lead 
WHERE added_on >= '$from' AND added_on <= '$to' AND 
    status='Hot' AND status='Paid'

Ответы [ 3 ]

3 голосов
/ 16 ноября 2011

Статус не может быть горячим и оплачиваться одновременно.

Статус является «горячим» или «платным».Возможно, вам нужен этот статус «горячий» или «платный», а не «горячий» и «платный».

select * from lead 
WHERE added_on >= '$from' AND added_on <= '$to' AND 
    (status='Hot' or status='Paid')
1 голос
/ 16 ноября 2011

Полагаю, вы, вероятно, хотели это сделать:

SELECT * FROM lead 
WHERE added_on BETWEEN '$from' AND '$to'
AND status IN ('Hot','Paid')

Подумайте о том, чтобы ваши критерии применялись к каждой записи самостоятельно. Как правильно сказал предыдущий плакат: «Статус не может быть горячим и оплачиваться одновременно».

По сути, это должно вернуть все записи, которые были либо «горячими», либо «платными».

1 голос
/ 16 ноября 2011

Используйте «IN» для проверки нескольких возможных значений:

SELECT *
FROM `lead`
WHERE
   (`added_on` >= '$from' AND `added_on` <= '$to')
   AND `status` IN ('Hot', 'Paid')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...