Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从任务表或计费时间中获取项目更新时间?_Sql_Sql Server 2008 R2 - Fatal编程技术网

Sql 如何从任务表或计费时间中获取项目更新时间?

Sql 如何从任务表或计费时间中获取项目更新时间?,sql,sql-server-2008-r2,Sql,Sql Server 2008 R2,我遇到了这个问题,我正在尝试更新与project相关的最后一个任务,以及如何通过获取最后一个billingTime来更新此任务 我还有很多设计问题 获取项目和上次更新时间表单任务的最佳方式是什么?我是否应该使用createdOn列形式的billingTime 我是否应该在项目表中添加新列以记录上次更新的任务 我的查询: 我认为您不需要在项目表中添加新列。看起来您已经在这两个表之间设置了关系。如果要获取给定项目的上次更新时间,请尝试以下方法: SELECT p.projectID,

我遇到了这个问题,我正在尝试更新与project相关的最后一个任务,以及如何通过获取最后一个billingTime来更新此任务
我还有很多设计问题

  • 获取项目和上次更新时间表单任务的最佳方式是什么?我是否应该使用createdOn列形式的billingTime
  • 我是否应该在项目表中添加新列以记录上次更新的任务

我的查询:


我认为您不需要在项目表中添加新列。看起来您已经在这两个表之间设置了关系。如果要获取给定项目的上次更新时间,请尝试以下方法:

SELECT     p.projectID, p.projectName, MAX(t.lastUpdate) as 'Last Updated Time'
FROM         Tasks AS t INNER JOIN
                      Projects_tasks ON t.taskID = Projects_tasks.taskID INNER JOIN
                      Projects AS p ON Projects_tasks.projectID = p.projectID
GROUP BY p.projectName, p.projectID
SELECT     p.projectID, p.projectName, BillingsTimes.UserId, MAX(t.lastUpdate) as 'Last Updated Time'
FROM         Tasks AS t INNER JOIN
                      Projects_tasks ON t.taskID = Projects_tasks.taskID INNER JOIN
                      Projects AS p ON Projects_tasks.projectID = p.projectID INNER JOIN
                      BillingsTimes ON t.taskID = BillingsTimes.taskID
GROUP BY p.projectName, p.projectID, BillingsTimes.UserId
--编辑

要同时显示
用户ID
,请尝试以下操作:

SELECT     p.projectID, p.projectName, MAX(t.lastUpdate) as 'Last Updated Time'
FROM         Tasks AS t INNER JOIN
                      Projects_tasks ON t.taskID = Projects_tasks.taskID INNER JOIN
                      Projects AS p ON Projects_tasks.projectID = p.projectID
GROUP BY p.projectName, p.projectID
SELECT     p.projectID, p.projectName, BillingsTimes.UserId, MAX(t.lastUpdate) as 'Last Updated Time'
FROM         Tasks AS t INNER JOIN
                      Projects_tasks ON t.taskID = Projects_tasks.taskID INNER JOIN
                      Projects AS p ON Projects_tasks.projectID = p.projectID INNER JOIN
                      BillingsTimes ON t.taskID = BillingsTimes.taskID
GROUP BY p.projectName, p.projectID, BillingsTimes.UserId

我知道一个小问题,但我需要从billingTime表中获取用户ID。您应该能够将其添加到select语句中,向表中添加联接,然后将其添加到group by语句中,然后就可以开始了。我将编辑上面的帖子。他们是否会删除userID列中的重复条目,因为我尝试使用distinct,但它不起作用,我正在尝试使其与excel工作表类似