sql >> Databasteknik >  >> RDS >> Mysql

Kolumnaliaset känns inte igen i WHERE-satsen

Använd HAVING

HAVING
  LatestBookableTimestamp < UNIX_TIMESTAMP()

En sidoanteckning, du använder en beroende underfråga, vilket är en dålig idé prestandamässigt.

Försök så här:

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. Påskynda frågorna GROUP BY, SUM och AVG

  2. Hur hittar man i Django en term som är en del av en sträng istället för att innehålla den strängen?

  3. Kan mysql importera en csv eller annan txt-fil till en kolumn?

  4. markör:stift S vänta på X