2015-06-11 52 views
0

說我有一個產品表,看起來像這樣:SQL GET行

的想法是,我公司產品一個5月13日之後,有三種不同的期限,價格是$ 30,之後
| 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| 

六月12美元是40美元,7月21日之後是50美元。出於各種商業原因的列結構被設置並且不能被改變。

如果今天是2015-06-11 16:00:00什麼是MySQL查詢,可以讓我支付正確的價格,而無需通過php或任何語言循環瀏覽結果?

回答

2

您可以使用order by,wherelimit進行此計算。我想它的工作是這樣的:

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

您可能需要like而非=的產品名稱。

+0

謝謝!吠叫錯誤的樹找比較之間的某種東西,這個作品很棒! – vaene