2012-12-10 3 views
0

J'essaie d'utiliser la date d'aujourd'hui avec cur_date() et en essayant de tirer toutes les colonnes où il se trouve entre une colonne datestart et une colonne dateend.Vérification d'une date de transmission est entre deux colonnes distinctes

J'ai essayé deux questions ci-dessous, mais obtenir: Unknown column 'de TDate' dans 'où la clause'

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; 

Répondre

2

Cet alias de champ ne se voit pas dans la clause WHERE, essayez cette requête à la place -

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

Ou utiliser un sous-requête -

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

Great - merci! – Brett

Questions connexes