繁体   English   中英

选择所有最大值SQL查询

[英]Selecting ALL Max Values SQL query

我正在此查询中使用两个Table 1: admitTable 2: Billing. 我想做的就是向接受危机服务的人显示(program codes '44282' and '44283') 对于这些人,我想告诉他们的保险,这是场下guarantor_id的计费表。 为此,我需要显示所有最大保险有效日期cov_effective_date ,其中保险有效日期小于准入日期preadmit_admission_date ,保险有效期cov_expiration_date大于准入日期(或为空)。 我现在拥有的代码可以执行我想要的所有操作,但是并不能获得所有最大覆盖有效日期。 因此,如果某人有两个在同一日期开始的不同保险,则只会显示一份,而我希望两者都显示。

Select 
 A.patid
,A.episode_number
,A.preadmit_admission_date
,A.program_code
,A.program_value
,A.c_date_of_birth
,A.guarantor_id
,max(A.cov_effective_date) as "MaxDate"

from(

Select
  SA.patid
 ,SA.episode_number
 ,SA.preadmit_admission_date
 ,SA.program_code
 ,SA.program_value
 ,SA.c_date_of_birth
 ,BGE.guarantor_id
 ,BGE.cov_effective_date

 From System.view_episode_summary_admit as "SA"

 Left Outer Join

 (Select 
   BG.patid
  ,BG.episode_number
  ,BG.guarantor_id
  ,BG.cov_effective_date
  ,BG.cov_expiration_date

  from System.billing_guar_emp_data as "BG"

  Inner Join

  (Select patid, episode_number, preadmit_admission_date
  from System.view_episode_summary_admit ) as "A"
  On
  (A.patid = BG.patid) and (A.episode_number = BG.episode_number)

  Where
  BG.cov_effective_date <= preadmit_admission_date and
 (BG.cov_expiration_date >= preadmit_admission_date or
  BG.cov_expiration_date  Is Null)
  ) as "BGE"
  on
 (BGE.patid = SA.patid) and (BGE.episode_number = SA.episode_number)

  Where
  (program_code = '44282' or program_code = '44283' )
   and preadmit_admission_date >= {?Start Date}
   and preadmit_admission_date <= {?End Date}
   ) A

   Group By Patid, Episode_number

抱歉,这是一个伪答案。

Select (your fields)
from (your entire query)bg
left join
   (select patid, max(cov_effective_date) maxdate from  system.billing_guar_emp_data group by patid) maxdate
on maxdate.patid = bg.patidate

删除汇总的分组依据...您现在可以在开头的select语句中将maxdate.maxdate称为字段。 与在查询末尾进行连接(可能恰好在from语句中的BG下)相比,连接此maxdate可能是一个更好的位置,但是伪代码对吗? :)希望您可以应用这个概念,如果您需要更多,请让我知道我下午有空(有空吗?)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM