#mysql
#mysql
Вопрос:
groupId scduleDate
1 '2016-10-5 10:30:00'
2 '2016-10-4 10:30:00'
3 '2016-10-19 10:30:00'
4 '2016-10-19 10:30:00'
Это моя таблица, я должен динамически извлекать один столбец на основе условия
я пытаюсь использовать это, но не могу получить значение
select groupId,scduleDate
,
case scheduledDate when >now then "1"
else '0'
end
as Real_Title
from EventList_View
мой ожидаемый результат выглядит следующим образом :
groupId scduleDate status
1 '2016-10-5 10:30:00' 0
2 '2016-10-4 10:30:00' 0
3 '2016-10-19 10:30:00' 1
4 '2016-10-19 10:30:00' 1
Я хочу применить условие на основе сегодняшней даты и предыдущей даты соответственно, я хочу добавить статус, если предыдущая дата с сегодняшней даты должна быть 0 или 1
, но когда я пытаюсь выполнить свой запрос, данные не приходят, пожалуйста, скажите мне, где я делаю неправильно.
Комментарии:
1. ошибка в
CASE
выражении. Должно быть похожеcase when scheduledDate > now
….2. я сделал то же самое, и все та же проблема, данных не получаю
3. выберите groupId, случай, когда scheduledDate> now, затем «1», иначе «0» заканчивается как Real_Title из EventList_View
4. Какой идентификатор типа данных для столбца
scduleDate
??5. тип данных scduleDate — дата
Ответ №1:
У вас синтаксическая ошибка в вашем CASE
выражении.
Запрос
select groupId,scduleDate,
case when scduleDate > now() then 1 else 0 end as Real_Title
from EventList_View;
Комментарии:
1. Столбец scduleDate не знает, о чем он говорит, когда я пытаюсь исключить