我尝试创建一个SQL查询,从多个表中获取记录,显示用户的就业历史。
我的加入声明中出现错误,表示表的别名出错。
错误号码:1066
不是唯一的表/别名:'角色'
$this->db->select('*');
$this->db-> from ('project_roles AS role' , 'project_tasks AS task', 'project AS proj');
$this->db-> join ('employee_assignment AS ea', 'role.roleID = ea.roleID');
$this->db-> join ('role', 'task.taskID = role.taskID ');
$this->db-> join ('task', 'proj.projectID = task.projectID');
$this->db-> where('ea.accountID', $accountID);
如果有人能够确定我做错了什么,那就太好了。所有表都包含此查询中使用的字段。我只是不知道为什么它不能识别角色......除非它是迄今为止发现的第一个错误。
感谢。
答案 0 :(得分:1)
而不是将所有表放在from中将它们放在连接中
$this->db->select('*');
$this->db-> from ( 'project AS proj');
$this->db-> join ('project_tasks AS task', 'proj.projectID = task.projectID');
$this->db-> join ('project_roles AS role', 'task.taskID = role.taskID ');
$this->db-> join ('employee_assignment AS ea', 'role.roleID = ea.roleID');
$this->db-> where('ea.accountID', $accountID);