Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Помогите пожалуйста с запросом


Автор: ButtonOFF 22.1.2014, 09:50
Таблица
MonthNum   DayNum   StartTime                      TariffNum
1                  2              1899-12-30 06:00:00   1
1                  2              1899-12-30 10:00:00   2
1                  2              1899-12-30 22:00:00   3

Мне надо выдернуть номер тарифа, если известен номер месяца, номер дня и время (только час времени)

Если бы было StartTime и EndTime сделал бы без проблем.

Как понимать эти записи: тариф 1 это с 6-00 до 10-00, тариф 2 это с 10-00 до 22-00, тариф 3 это с 22-00 до 6-00

Например нужно узнать какой тариф используется если время 13-00.

Автор: Akina 22.1.2014, 09:52
Код

WHERE myDateTime >= StartTime
ORDER BY StartTime ASC
LIMIT 1

Автор: ButtonOFF 22.1.2014, 09:53
Akina, Спасибо smile 

А если например время 4:00?

Добавлено через 6 минут и 14 секунд
Можно обойтись IsNULL конечно, но хотелось бы узнать может через JOIN можно

Автор: Akina 22.1.2014, 13:03
Нормализуйте сначала данные, а потом решайте прикладные задачи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)