sql >> データベース >  >> RDS >> Mysql

WHEREステートメントで認識されない列エイリアス

    HAVINGを使用する

    HAVING
      LatestBookableTimestamp < UNIX_TIMESTAMP()
    

    ちなみに、依存サブクエリを使用しているため、パフォーマンスの面で悪い考えです。

    次のようにしてみてください:

    SELECT 
      a.ID,
      a.DistanceFromUtrecht,
      pp.LatestBookableTimestamp
    FROM
      Accommodation AS a
    INNER JOIN (
      SELECT
        FK_Accommodation,
        MAX(DateUntil) - (ReleaseDays * 60 * 60 * 24) AS LatestBookableTimestamp
      FROM 
        PricePeriod 
      GROUP BY 
        FK_Accommodation
    ) AS pp    
    ON pp.FK_Accommodation = a.ID    
    WHERE
      pp.LatestBookableTimestamp < UNIX_TIMESTAMP()
    


    1. PHPMySQLの複数のフォームと複数の送信を1つのページに

    2. Codeigniter-複数のデータベース接続

    3. MySQLはwhere句を使用して外部結合を残しました-一致しない行を返します

    4. MySQLがUPDATEステートメントのSET句の末尾のコンマを無視できるようにするトリックはありますか?