2016-10-11 24 views
1

因此,我正在自动执行我的任务,最终产品是一个视图,我获得一个简单的任务列表,最后一列是该任务的最后一个更新。我试过加入这些表,但他们收到所有更新,我只想要最新的,我知道日期是相同的(我已经用GETDATE()作为日期值插入它们)。带有来自另一个表的更新的SQL任务表

我找不到一种方法来从Tasks表中获取所有列,并且只从Tasks_Updates表中获取“上次更新”。

下面是来自一些简单的数据:

These are my tables, one for tasks, one for task updates

这是我的看法的代码,我知道这很简单,我已经尝试过(选择顶部1列]),并没有工作,我也试过无解

SELECT   
dbo.TSKM_tsk.TASKID, 
dbo.TSKM_tsk.DATE, 
dbo.TSKM_tsk.[RAISED BY], 
dbo.TSKM_tsk.NAME, 
dbo.TSKM_tsk.[DUE DATE], 
dbo.TSKM_tsk.DESCRIPTION, 
dbo.TSKM_tsk.STATUS, 
dbo.TSKM_updates.uDESCRIPTION 

FROM 
dbo.TSKM_tsk INNER JOIN 
dbo.TSKM_updates ON dbo.TSKM_tsk.TASKID = dbo.TSKM_updates.rTask 

最终产品是喜欢这幅画,但分组值只与最后一次更新,不是所有的更新表更新:

My View

我非常感谢你们提前!

+0

感谢@ AT-2016我觉得我是一个更近了一步,现在我只能看到线ferering到任务,这意味着每个1次更新,但我只看到所有行的一个更新。 – Jhonyang

+0

下面是我得到了什么至今 [链接] https://fbcdn-sphotos-ea.akamaihd.net/hphotos-ak-xat1/v/t34.0-12/14696904_1271081789580018_1559710457_n.png?oh=dd2845793ec9646568e5aac7ab564978&oe= 57FFFFDF&__ gda __ =41_4223cec7113f577a5bcbe6a152e6b569 – Jhonyang

回答

1

我已经得到了我需要的东西,谢谢!

工作代码

SELECT   
dbo.TSKM_tsk.TASKID, 
dbo.TSKM_tsk.DATE, 
dbo.TSKM_tsk.NAME, 
dbo.TSKM_tsk.DESCRIPTION, 
(SELECT TOP 1 [uDESCRIPTION] from [_dbWEB].[dbo].[TSKM_updates] WHERE rTask = dbo.TSKM_tsk.TASKID ORDER BY UID DESC) as [LAST UPDATE] 

FROM 
dbo.TSKM_tsk LEFT JOIN 
dbo.TSKM_updates ON dbo.TSKM_tsk.TASKID = dbo.TSKM_updates.rTask 
group by TASKID, date, NAME, DESCRIPTION, STATUS, [_dbWEB].[dbo]. [TSKM_updates].rTask 
+0

上述查询与我的几乎完全相同,但它应该这样做。很高兴知道工作:) –