2012-12-10 63 views
0

我試圖使用今天的日期cur_date()並試圖將所有列位於datestart列和dateend列之間。檢查通過日期是在兩個單獨的列之間

我已經試用過下面的查詢,但得到:未知列「tdate」在

SELECT id, 
     details, 
     CURDATE() AS tdate 
FROM specials 
WHERE tdate BETWEEN datestart AND dateend; 

SELECT id, 
     details, 
     CURDATE() AS tdate 
FROM specials WHERE datestart <= tdate AND dateend >= tdate; 

回答

2

此字段別名是不是在WHERE子句中看到「where子句」,試試這個查詢,而不是 -

SELECT 
    id, details, CURDATE() AS tdate FROM specials 
WHERE 
    datestart <= CURDATE() AND dateend >= CURDATE(); 

或者使用子查詢 -

SELECT id, details, tdate FROM (
    SELECT id, details, CURDATE() AS tdate FROM specials 
    ) t 
WHERE 
    datestart <= tdate AND dateend >= tdate; 
+0

太好了 - 謝謝! – Brett

相關問題