Mysql 如何使用联接从两个表创建一个视图,以显示另一个表的计数?

Mysql 如何使用联接从两个表创建一个视图,以显示另一个表的计数?,mysql,sql,database,Mysql,Sql,Database,这就是我的陈述。我知道这是错误的,因为它显示以下内容: 它把结束日期都算作一个大数字。我怎样才能使它对每个单独的枚举都有效 谢谢 在末尾添加GROUPBY子句 CREATE VIEW EMPJOBS AS SELECT EMPLOYEE.employee_id AS ENUM, CONCAT(EMPLOYEE.first_name, ' ' , EMPLOYEE.last_name) AS NAME, EMPLOYEE.email AS E

这就是我的陈述。我知道这是错误的,因为它显示以下内容:

它把结束日期都算作一个大数字。我怎样才能使它对每个单独的枚举都有效

谢谢

在末尾添加GROUPBY子句

    CREATE VIEW EMPJOBS AS 
     SELECT EMPLOYEE.employee_id AS ENUM, 
     CONCAT(EMPLOYEE.first_name, 
     ' ' , EMPLOYEE.last_name) AS NAME, 
     EMPLOYEE.email AS EMAIL, 
     COUNT(JOBHISTORY.end_date) AS FINISHEDJOBS
    FROM EMPLOYEE, JOBHISTORY
    WHERE JOBHISTORY.employee_id = EMPLOYEE.employee_id;

作为最佳实践,请尝试使用正确的联接语法来联接表,而不是使用逗号。还要为表名添加别名,以避免混淆和可读性

您也可以这样做:

CREATE VIEW EMPJOBS AS 
 SELECT 
     e.employee_id AS ENUM, 
     CONCAT(e.first_name, 
     ' ' , e.last_name) AS NAME, 
     e.email AS EMAIL, 
     COUNT(j.end_date) AS FINISHEDJOBS
FROM EMPLOYEE e 
inner join  JOBHISTORY j
on j.employee_id = e.employee_id
group by 
    e.employee_id
    ,CONCAT(e.first_name,' ', e.last_name)
    ,e.email;

发布您的样本数据和预期输出,同时避免使用图像,利用表格发布数据,直到一切都是新的,感谢您的反馈@hexxxuse group by EMPLOYEE.EMPLOYEE\u id last.group by e.EMPLOYEE\u id,e.first\u name,e.last\u name,e。email@Hexxx. 谢谢遗漏了select子句中的内容。
CREATE VIEW EMPJOBS AS 
  SELECT EMPLOYEE.employee_id AS ENUM, 
  CONCAT(EMPLOYEE.first_name, ' ' , EMPLOYEE.last_name) AS NAME, 
  EMPLOYEE.email AS EMAIL,
  Select(COUNT(end_date) From JOBHISTORY jh where jh.employee_id = E.employee_id) AS FINISHEDJOBS
 FROM EMPLOYEE E;