SQL-编写脚本以显示项目名称和日期

SQL-编写脚本以显示项目名称和日期,sql,sql-server,Sql,Sql Server,我是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) NAM

我是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()
如果您需要包含员工数据,请调整您的问题

据我所知,我是这样做的

回复我任何需要的澄清


@格雷格。。谢谢-你介意为我的示例演示一下它是如何完成的吗?@Sql_numskull已经更新。•@Greggz为什么OP必须创建存储过程?如果due_date列是varchar,那么cast是as date。太好了。。有道理。。我把事情复杂化了,因为我看到剧本里的话非常感谢你。这给了我答案和更多,因为它也加入了员工的行列。所以它显示了员工、项目和天数remaining@Ranjiith-如何编辑此内容,以便只显示已完成的项目?@Sql\u numskull Iam已根据您的期望更新我的查询。
  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()