【发布时间】:2016-05-06 19:39:04
【问题描述】:
我管理一个州级应用程序并使用Tableau 来创建数据的可视化。
我的任务是创建一个可视化,显示从联系人条目到今天(案例注释日期)之间经过了多少时间。我知道如何在案例注释表中隔离最大案例注释日期:
Select
[Case_Master_ID],
[Case_Note_Date],
[Case_Note_Category_Desc],
[Case_Note_Summary_Narr]
From
buCase_Note
Where
Case_Note_Date = (Select MAX(Case_Note_Date)
From buCase_Note)
此查询将显示从今天起表格中的最大案例说明。问题是我需要为所有参与者展示最大案例说明,而不仅仅是今天的参与者。我用来查看案例注释的原始查询是:
Select
vc.[_Case Master ID],
vc.[_Caseload Assignment Current],
vc.[_Participant Name],
vc.[Case Status],
vc.[Reporting Structure Level 4],
vc.[Reporting Structure Level 5],
vc.[Application Date],
vc.[Eligibility Date],
vc.[Eligibility Determination Extension Date],
vc.[Eligibility Extended To Date],
vc.[Days in Application],
cn.[Case_Note_Date],
cn.[Case_Note_Category_Desc],
cn.[Case_Note_Summary_Narr]
From
biVR_Cases vc
Left outer Join
buCase_Note cn ON cn.Case_Master_ID = vc.[_Case Master ID]
我需要在左侧保留biVR_Cases 以显示所有打开的客户端。然后我需要加入案例记录表,对于每个参与者,我想显示他们的最大案例记录日期。当我将此添加到上述查询的末尾时:
Where cn.[Case_Note_Date] = (
Select
MAX(cn.Case_Note_Date)
From buCase_Note)
我得到以下错误是 SSMS 2012:
聚合可能不会出现在 WHERE 子句中,除非它出现在 HAVING 子句或选择列表中包含的子查询中,并且被聚合的列是外部引用。
我希望保留左侧的bi 表,同时成功加入案例注释表并仅引入每位参与者最近的案例注释。
添加细节: 当然, 这是我在运行以下查询时获得的数据示例:
Select
vc.[_Case Master ID],
vc.[_Caseload Assignment Current],
vc.[_Participant Name],
cn.[Case_Note_Date],
From biVR_Cases vc
LEFT outer JOIN buCase_Note cn ON vc.[_Case Master ID] = cn.Case_Master_ID
_Caseload Assignment 当前测试参与者姓名 Casenote Date 考试辅导员参与者 A 2010 年 9 月 29 日 2010 年 9 月 23 日 2010 年 8 月 30 日 2010 年 6 月 30 日 2010 年 6 月 1 日
bi 表包含参与者信息,如姓名、应用程序、案例主 ID 等。casenote 表包含案例主 ID 以及连接。它还包含每个条目的创建日期。所以对于上面的数据集,我试图只为每个参与者带来最新的案例笔记。我在上面的示例中只包括了 1 个,但我们有超过 15,000 个。每个参与者都会有许多案例笔记。我正在尝试获取最上面的案例笔记,这样我就可以计算每个参与者的最新案例笔记与今天之间的日期差异。当我添加:
Where cn.[Case_Note_Date] = (Select
top 1 [Case_Note_Date]
From buCase_Note
Order by 1 DESC))
OR
Where Case_Note_Date=(
Select
MAX(Case_Note_Date)
From buCase_Note)
它仅显示今天创建案例笔记的参与者的顶部或最大案例笔记。我不需要在 casenote 表中显示最大 casenote,而是需要每个参与者的最大 casenote。我希望这更有意义。
【问题讨论】:
-
你应该显示一些数据。您的 MAX(cn.Case_Note_Date) 将仅从 buCase_Note 返回一个数据,而不是每个 [_Case Master ID] 一个数据
标签: sql sql-server-2012 ssms maxdate