mysqlmysql-error-1066

Not unique table/alias


I get the error ERROR 1066 (42000): Not unique table/alias:

I cant figure out whats wrong with it.

SELECT Project_Assigned.ProjectID, Project_Title, Account.Account_ID, Username, Access_Type
FROM Project_Assigned 
JOIN Account 
  ON Project_Assigned.AccountID = Account.Account_ID
JOIN Project
  ON Project_Assigned.ProjectID = Project.Project_ID
where Access_Type = 'Client';

Solution

  • Your query contains columns which could be present with the same name in more than one table you are referencing, hence the not unique error. It's best if you make the references explicit and/or use table aliases when joining.

    Try

        SELECT pa.ProjectID, p.Project_Title, a.Account_ID, a.Username, a.Access_Type, c.First_Name, c.Last_Name
          FROM Project_Assigned pa
    INNER JOIN Account a
            ON pa.AccountID = a.Account_ID
    INNER JOIN Project p
            ON pa.ProjectID = p.Project_ID
    INNER JOIN Clients c
            ON a.Account_ID = c.Account_ID
         WHERE a.Access_Type = 'Client';