在PHP MySQL上显示、连接、计数和分组6个表
我在用php和mysql显示、连接和分组6个表时遇到问题 我的桌子在PHP MySQL上显示、连接、计数和分组6个表,php,mysql,join,count,group-by,Php,Mysql,Join,Count,Group By,我在用php和mysql显示、连接和分组6个表时遇到问题 我的桌子 loker_工作:id_工作、slug_工作、职位、部门、级别、位置 loker_部门:id_部门,名称_部门 loker_级别:id_级别、名称_级别 loker_位置:id_位置、名称_位置 loker_申请人:身份证、工作、文件 loker_用户:id_用户,名称 我的查询 SELECT loker_job.slug_job, loker_level.name_level, loker_location.name_l
- loker_工作:id_工作、slug_工作、职位、部门、级别、位置
- loker_部门:id_部门,名称_部门
- loker_级别:id_级别、名称_级别
- loker_位置:id_位置、名称_位置
- loker_申请人:身份证、工作、文件
- loker_用户:id_用户,名称
SELECT
loker_job.slug_job,
loker_level.name_level,
loker_location.name_location,
loker_department.name_department,
loker_user.name,
loker_applicant.file,
count(*) as total_applicant
FROM
loker_job
LEFT JOIN loker_department ON loker_department.id_department = loker_job.department
LEFT JOIN loker_level ON loker_level.id_level = loker_job.`level`
LEFT JOIN loker_location ON loker_location.id_location = loker_job.location
LEFT JOIN loker_user ON loker_user.id_user = loker_job.publisher
LEFT JOIN loker_applicant ON loker_applicant.id_job = loker_job.slug_job
GROUP by loker_job.slug_job
我想要这样的结果:
+----------+-----------------+-----------------+---------------+----------------------+-----------------+
| slug_job | name_level | name_department | name_location | name_position | total applicant |
+----------+-----------------+-----------------+---------------+----------------------+-----------------+
| 1111 | General Manager | Marketing | America | Vice General Manager | 3 |
| 2222 | E-officer | Ecommerce | Japan | Officer | 1 |
| 3333 | General Manager | Sales | Rusia | Vice General Manager | 0 |
| 4444 | General Manager | Marketing | America | Vice General Manager | 3 |
+----------+-----------------+-----------------+---------------+----------------------+-----------------+
结果
但是,我得到的结果是:
- 有一行或多行始终结果为1总申请者,尽管从db显示0或无
- 总计行不正确,总计数据中始终为-1
SELECT loker_job.slug_job, loker_level.name_level, loker_location.name_location,
loker_department.name_department, A.name, loker_applicant.file, IFNULL(A.total_applicant,0) as total_applicant
FROM loker_job
LEFT OUTER JOIN loker_department ON loker_department.id_department = loker_job.department
LEFT OUTER JOIN loker_level ON loker_level.id_level = loker_job.`level`
LEFT OUTER JOIN loker_location ON loker_location.id_location = loker_job.location
LEFT OUTER JOIN loker_applicant ON loker_applicant.id_job = loker_job.slug_job
LEFT OUTER JOIN (
select id_user,name, count(*) as total_applicant from loker_user group by id_user, name
) as A ON A.id_user = loker_job.publisher
它在“on子句”中将列名从“a.loker_job”更新为“loker_job.loker_job”中显示未知列“a.publisher”。