2015-06-11 6 views
0

Скажем, у меня есть таблица продуктов, выглядит следующим образом:SQL прибудет строки по столбцам срока

| prod_id | prod_name | prod_price | prod_deadline  | 
| 1  | prod_A 1 | 30.00  | 2015-05-13 04:00:00| 
| 2  | prod_A 2 | 40.00  | 2015-06-12 04:00:00| 
| 3  | prod_A 3 | 50.00  | 2015-07-21 04:00:00| 

Идея заключается в том, что мой продукте А имеют три различных сроки, цена после 13 мая составляет $ 30, после июня 12 - $ 40, а после 21 июля - $ 50. Структура столбцов по разным бизнес-причинам установлена ​​и не может быть изменена.

, если сегодня 2015-06-11 16:00:00 Что такое запрос MySQL, который даст мне правильную цену для оплаты, без прокрутки на php или на любом другом языке из результата?

ответ

2

Для этого расчета вы можете использовать order by, where и limit. Я полагаю, что это будет работать так:

select p.* 
from products p 
where prod_name = 'prod A' and prod_deadline <= now() 
order by prod_deadline desc 
limit 1 

Вам может понадобиться like, а не = название продукта.

+0

Спасибо! лаять неправильное дерево, ищущее какое-то сравнение, это отлично работает! – vaene

Смежные вопросы