Таблица клиентовMySQL, если переменная а затем показать результаты + конкретный результат
ID | Name | start_Date | Future
1 John 20-02-2014 15:00:00 0
2 Maria 20-02-2014 15:00:00 0
3 Stack 21-02-2014 15:00:00 1
4 Google 21-02-2014 15:00:00 0
В настоящее время мой запрос выглядит следующим образом:
SELECT * FROM clients
Очевидно, что это будет получить все клиенты, но я хочу, чтобы отобразить клиентов в соответствии с переменной Future
. Когда задана переменная Future
, клиенты могут показывать только с start_Date
.
Если изменить мой запрос к этому:
SELECT *
FROM clients
WHERE (NOW() >= start_Date OR start_Date IS NULL
OR start_Date = '0000-00-00 00:00:00')
Это поможет мне:
ID | Name | start_Date | Future
1 John 20-02-2014 15:00:00 0
2 Maria 20-02-2014 15:00:00 0
Но выход я ожидаю:
ID | Name | start_Date | Future
1 John 20-02-2014 15:00:00 0
2 Maria 20-02-2014 15:00:00 0
4 Google 21-02-2014 15:00:00 0
Я не хочу показать
3 Stack 21-02-2014 15:00:00 1
, поскольку переменная Future
установлена в 1
, и ее можно будет отобразить только завтра (21-02-2014 15:00:00). Так, в конце концов, я придумал это без успеха:
SELECT *
FROM clients
WHERE CASE WHEN Future = 1 THEN (NOW() >= start_Date OR start_Date IS NULL
OR start_Date = '0000-00-00 00:00:00') END
Это один решить мою проблему, я только что добавить: 'WHERE future = 0 ИЛИ future IS NULL OR (future = 1 ...)'. Я отвечу на ответ через 5 минут. – user3243925