我需要从项目中获取在 1 年内完成的日期。我的项目表包含“Sdate”和“Edate”,我需要用它来查找在 1 年内完成的数据如何在一年内获取数据。例如我需要获取在 1 年内完成项目的数据(不同的是在 1 年内)
这是我试过的
SELECT
concat(FName, ' ', LName) AS NAME
FROM
Employee
WHERE
EXISTS (
SELECT
DATE_SUB(Sdate, INTERVAL 1 YEAR) AS DIFF
FROM
Project
);
最佳答案
您可以根据您的表列名称更改联接字段并尝试以下查询 -
SELECT
concat(e.FName, ' ', e.LName) AS NAME
FROM
Employee e
JOIN project p ON e.employeeId = p.employeeId
WHERE
p.Sdate >= DATE_SUB(p.Edate, INTERVAL 1 YEAR)
GROUP BY
e.id;
如果你想使用 exists 函数,那么使用下面的查询-
select concat(e.FName , ' ' , e.LName) as name
From Employee e
where exists(select * from product p where e.employeeId=p.employeeId and p.Sdate >= DATE_SUB(p.Edate,INTERVAL 1 YEAR)) group by e.id;
关于mysql - 获取一年内完成的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46902211/