联接表中子查询中的SQL Server 2012最大日期

麦克风

我管理一个州范围的应用程序,并用于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:

除非聚集在HAVING子句或选择列表中包含的子查询中,并且聚集的列是外部引用,否则聚集可能不会出现在WHERE子句中。

我希望保留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

_案例分配当前测试参与者名称案例注释日期测试顾问参与者A 2010年9月29日2010年9月23日2010年8月30日2010年6月30日

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)

它仅显示今天创建了案例注释的参与者的顶部或最大案例注释。我不需要在案例注释表中显示最大案例注释,而是需要每个参与者最大的案例注释。我希望这更有意义。

布莱恩·佩恩

您可以尝试以下类似的方法。没有实际数据,我不知道它是否对您足够有效,但是它应该可以工作。但是,如果您得到更好的答案,我很想知道。

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 
   (SELECT Case_Master_ID, Case_Note_Date, Case_Note_Category_Desc, Case_Note_Summar_Narr, 
           ROW_NUMBER() OVER (PARTITION BY Case_Master_ID ORDER BY Case_Note_Date DESC) as RowNum FROM buCase_Note) cn 
   ON cn.Case_Master_ID = vc.[_Case Master ID] AND cn.RowNum=1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在使用SQL Server 2012中的日历表上的联接的查询中显示缺少的日期

来自分类Dev

在SQL Server 2012查询中使用日期

来自分类Dev

从子查询获取最大日期-SQL SERVER

来自分类Dev

SQL Server 2012中的日期转换问题

来自分类Dev

PIVOT SQL Server 2012中的日期列

来自分类Dev

SQL Server查询具有日期的联接

来自分类Dev

日期从星期数和日期在Sql Server 2012中

来自分类Dev

日期从星期数和日期在Sql Server 2012中

来自分类Dev

SQL Server 2012日期变更

来自分类Dev

SQL Server 2012:如何从多个表联接中获取计数组

来自分类Dev

如何在SQL Server 2012中使用多个表进行外部交换联接?

来自分类Dev

如何使用内部联接查询根据 SQL Server 中的日期时间变化获取前 1 行?

来自分类Dev

基于查询表的SQL Server内部联接

来自分类Dev

SQL Server 2008查询-表联接

来自分类Dev

SQL Server 2012查询

来自分类Dev

在sql server 2012中找不到日期样式格式

来自分类Dev

在SQL Server中查询随时间变化的值的最小和最大日期的查询

来自分类Dev

SQL:在SQL Server 2012中使用外部联接

来自分类Dev

SQL Server查询-使用Tally表在SQL中按日期排序的日期中填写缺失的日期

来自分类Dev

在SQL Server 2012列中查询JSON

来自分类Dev

SQL Server 2012中的复杂子查询

来自分类Dev

如何在SQL Server中显示主键的最大日期

来自分类Dev

在 SQL Server 中获取范围的最大日期值

来自分类Dev

在 SQL Server 的 XML 列中查找最大日期

来自分类Dev

SQL Server 2000和2012中的左外部联接差异

来自分类Dev

使用生成脚本从SQL Server 2012导出日期数据

来自分类Dev

计算SQL Server 2012每天的日期范围计数

来自分类Dev

使用生成脚本从SQL Server 2012导出日期数据

来自分类Dev

SQL Server 2012将int更改为日期<> Saturdays 7

Related 相关文章

  1. 1

    如何在使用SQL Server 2012中的日历表上的联接的查询中显示缺少的日期

  2. 2

    在SQL Server 2012查询中使用日期

  3. 3

    从子查询获取最大日期-SQL SERVER

  4. 4

    SQL Server 2012中的日期转换问题

  5. 5

    PIVOT SQL Server 2012中的日期列

  6. 6

    SQL Server查询具有日期的联接

  7. 7

    日期从星期数和日期在Sql Server 2012中

  8. 8

    日期从星期数和日期在Sql Server 2012中

  9. 9

    SQL Server 2012日期变更

  10. 10

    SQL Server 2012:如何从多个表联接中获取计数组

  11. 11

    如何在SQL Server 2012中使用多个表进行外部交换联接?

  12. 12

    如何使用内部联接查询根据 SQL Server 中的日期时间变化获取前 1 行?

  13. 13

    基于查询表的SQL Server内部联接

  14. 14

    SQL Server 2008查询-表联接

  15. 15

    SQL Server 2012查询

  16. 16

    在sql server 2012中找不到日期样式格式

  17. 17

    在SQL Server中查询随时间变化的值的最小和最大日期的查询

  18. 18

    SQL:在SQL Server 2012中使用外部联接

  19. 19

    SQL Server查询-使用Tally表在SQL中按日期排序的日期中填写缺失的日期

  20. 20

    在SQL Server 2012列中查询JSON

  21. 21

    SQL Server 2012中的复杂子查询

  22. 22

    如何在SQL Server中显示主键的最大日期

  23. 23

    在 SQL Server 中获取范围的最大日期值

  24. 24

    在 SQL Server 的 XML 列中查找最大日期

  25. 25

    SQL Server 2000和2012中的左外部联接差异

  26. 26

    使用生成脚本从SQL Server 2012导出日期数据

  27. 27

    计算SQL Server 2012每天的日期范围计数

  28. 28

    使用生成脚本从SQL Server 2012导出日期数据

  29. 29

    SQL Server 2012将int更改为日期<> Saturdays 7

热门标签

归档