PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Spalte existiert nicht?

Sie können in der WHERE-Klausel nicht auf einen Spaltenalias verweisen.

  SELECT u1.id,
         COUNT(DISTINCT u2.userstatus) as TEMPCOLUMN 
    FROM USERS AS u1
    JOIN friendssym ON u1.id = friendssym.user_id
    JOIN USERS as u2 ON friendssym.friend_id = u2.id      
GROUP BY u1.id
  HAVING COUNT(DISTINCT u2.userstatus) = 1

In herkömmlichem SQL ist der früheste Verweis auf einen Spaltenalias der ORDER BY Klausel. Aber MySQL und SQL Server erlauben den Zugriff im HAVING und GROUP BY Klauseln.