0

今日の日付を使用して、列と列cur_date()の間にあるすべての列をプルしようとしています。datestartdateend

以下の両方のクエリを試しましたが、次のようになります。不明な列'tdate' in'whereclause'

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;
4

1 に答える 1

2

このフィールドエイリアスは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;
于 2012-12-10T07:49:30.470 に答える