我有一张桌子叫add_project
:
+------------+---------+---------+------ --------+ | 项目 ID | 用户 ID | project_status_id | 项目名称 | +------------+---------+---------+------ --------+ | 1 | 1 | 3 | 美国广播公司 | | 2 | 1 | 0 | 定义 | | 3 | 1 | 1 | xyz | | 4 | 1 | 3 | lm | | 5 | 1 | 0 | 回复 | | 6 | 1 | 3 | 右 | +------------+---------+---------+------ --------+
在此表上,管理员添加新项目。管理员user_id
是 1,所以这很常见。project_status_id
表示该项目的完成状态(0=新,1=工作,3=已完成)。
我还有另一张桌子叫asign_project
:
+---------+------------+---------+ | 分配ID | 项目 ID | 用户 ID | +---------+------------+---------+ | 1 | 1 | 5 | | 2 | 5 | 9 | | 3 | 2 | 5 | | 4 | 4 | 5 | | 5 | 6 | 9 | | 6 | 3 | 9 | +---------+------------+---------+
在此表上,管理员将项目分配给不同的用户。
现在我想要的是找出每个用户完成了多少个已完成的项目。如您所见,project_id(1,4)
已由 完成user_id=5
。
所以我的问题是我如何获得这个价值?
以下是我写的查询:
SELECT *
FROM asign_project, add_project
WHERE asign_project.project_id = add_project.project_id
AND project_status_id='3'
AND user_id='5'
但它显示:
#1052 - Column 'user_id' in where clause is ambiguous
在sqlfiddle上查看。
等待你的回复。