Mysql
 sql >> Datenbank >  >> RDS >> Mysql

versuchen, die Anzahl der Monate zu erhalten

Der Fehler 1054 liegt daran, dass die Spalte nicht in der/den Tabelle(n) vorhanden ist, die in FROM definiert ist/sind Klausel. Zusätzlich das WHERE -Klausel wird nicht verwendet, um eine Variable oder einen Spaltenalias festzulegen – sie dient zum Filtern der zurückgegebenen Zeilen.

Verwenden Sie DATEDIFF :

SELECT t.member_id,
       DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
  FROM MEMBERSHIP t

Der WENIGSTEN -Funktion gibt das niedrigste der beiden Daten zurück, sodass das aktuelle Datum verwendet wird, wenn das Fälligkeitsdatum in der Zukunft liegt. Sie können den GREATEST verwenden Funktion, wenn Sie das umgekehrt haben möchten.