Mysql 如何使用联接从两个表创建一个视图,以显示另一个表的计数?
这就是我的陈述。我知道这是错误的,因为它显示以下内容: 它把结束日期都算作一个大数字。我怎样才能使它对每个单独的枚举都有效 谢谢 在末尾添加GROUPBY子句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
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;