我是SQl的新手并且正在进行一些练习。我正在尝试编写脚本但需要一些帮助,如果有人可以帮我解决下面的主题,我会很感激。
表结构
**Project**
ID(PK) NAME Due_Date
1 Alpha 1/1/2040
2 Bravo 3/1/2030
3 Charlie 2/1/2017
4 Delta 4/1/2017
*Employee*
ID(PK) NAME
1 Kevin
2 Mike
3 Eric
4 Ira
5 Peter
*Project Assignment*
ID(PK) ProjectID(FK) EmployeeID(FK)
1 1 1
2 1 2
3 2 2
4 2 3
5 3 3
6 3 4
7 1 3
问题编写一个脚本,该脚本将返回所有项目名称以及剩余的时间(以天为单位),直到它们到期为止尚未完成的所有项目。
如果您的问题被正确询问,那么您只需要项目表。但我怀疑这是你想要的。
SELECT Name,
DATEDIFF (DAY, GETDATE(), Due_Date) AS DaysRemaining
FROM Project
WHERE Due_Date > GETDATE()
如果您需要员工数据,请调整您的问题。
根据我的理解,我这样做,
select pa.ID,e.NAME,p.NAME,p.Due_Date, DATEDIFF (DAY, GETDATE(), Due_Date) AS
DaysRemaining from
Project_Assignment pa inner join project p
on pa.projectid = p.id
inner join Employe e
on pa.EmployeeID = e.ID
and p.due_date > getdate()
还原我需要的任何澄清......