我正在编写SQL Server中的报告,但似乎无法正确使用它。如何返回一个独特的JNJobID最新加入我的Jobs表的JNNote?
for (*i2 = 0; *i2<10; (*i2)++)
{
if (*i2>4)
{
*z2 = *i2;
*b2++;
break;
}
}
printf("%d%c\n", b2, ch[z]);
工作表
Select
JobNotesID
,JNJobID
,JNDate
,JNNote
From [JobNotes] Left JOIN Jobs ON [JobNotes].JNJobID = Jobs.JobID
JobNotes表
JobID ProjectNum
6972 PN1
6973 PN2
6974 PN3
会返回
JobNotesID JNJobID JNDate JNNote
11800 6972 2016-03-15 00:00:00.000 Example 1
11874 6972 2016-03-17 00:00:00.000 Example 2
12181 6972 2016-03-25 00:00:00.000 Example 3
12006 6973 2016-03-21 00:00:00.000 Example 4
11961 6974 2016-03-18 00:00:00.000 Example 5
11924 6974 2016-03-17 00:00:00.000 Example 6
答案 0 :(得分:-1)
您可以使用max()
的分析版本来帮助识别每个ID最新的行。这需要CTE或内联视图:
select
n.JNNote
from (
select *, max(JNDate) over (partition by JNJobID) as maxDate
from JobNotes
) n
where n.JNDate = n.maxDate
这确实假设在同一天同一份工作从来没有两个笔记。