将和与OR语句组合使用的正确语法是什么



有人能帮助我们使用此语法吗?我收到错误消息

and ((a.admit_date between @period1_claim_start and @period1_claim_end and a.paid_date <= @period1_paid_date)
or (a.admit_date between @period2_claim_start and @period2_claim_end and a.paid_date <= @period2_paid_date))
and a.SVC_TYP_DESC <>'BH' --!! IS THAT OKAY TO REMOVE BH FROM INPATIENT???
and ((e.EFFPER between @period1_claim_start and @period1_claim_end 
or (e.effper between @period2_claim_Start and @period2_claim_end))

删除了不必要的括号:

and 
(
(a.admit_date between @period1_claim_start and @period1_claim_end and a.paid_date <= @period1_paid_date) 
or 
(a.admit_date between @period2_claim_start and @period2_claim_end and a.paid_date <= @period2_paid_date)
) 
and 
a.SVC_TYP_DESC <>'BH' 
and 
(
e.EFFPER between @period1_claim_start and @period1_claim_end 
or 
e.effper between @period2_claim_Start and @period2_claim_end
)

对于初学者来说,您在语句中缺少一个最终闭包

你有6个(和5个(

调整:

以及((a.admit_date介于@period1_claim_start和@periodl_claim_end之间,a.paid_date<=@period_1_paid_date(或(a.admit_date介于@period2_claim_start和@period_2claim_end之间,a.paid_date<=@period_2 paid_date()

和a.SVC_TYP_DESC<>'BH--!!可以将BH从住院患者中移除吗???

以及((e.period1_claim_start和period1_claim_end之间的EFFPER或(e.effper介于@periodi2_claim_Start和@periodi_2claim_end之间())

但过去我们不知道你有什么额外的错误信息,除非你告诉我们。

我们也几乎不可能告诉你什么括号是有效的,而不是因为我们不知道你的商业案例。

最新更新