【问题标题】:What is the correct syntax for combining and with an OR statement与 OR 语句组合并与 OR 语句结合的正确语法是什么
【发布时间】:2018-12-10 19:36:43
【问题描述】:

任何人都可以帮助使用这种语法吗?我收到错误消息

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))

【问题讨论】:

  • 错误信息是什么?

标签: sql syntax


【解决方案1】:

删除了不必要的括号:

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
)

【讨论】:

    【解决方案2】:

    对于初学者来说,你的语句中缺少一个最后的闭包

    你有 6 个(和 5 个)

    调整:

    和 ( (@period1_claim_start 和 @period1_claim_end 之间的 a.admit_date 和 a.paid_date

    和a.SVC_TYP_DESC 'BH' ——!!从住院病人身上移除 BH 可以吗???

    和 ( (例如@period1_claim_start 和 @period1_claim_end 之间的 EFFPER 或(@period2_claim_Start 和 @period2_claim_end 之间的 e.effper) ) )

    但除此之外,除非您告诉我们,否则我们不知道您还有什么其他错误消息。

    我们也几乎不可能告诉您括号是有效的,而不是因为我们不了解您的业务案例。

    【讨论】:

      猜你喜欢
      • 2017-03-28
      • 2017-12-15
      • 1970-01-01
      • 2018-08-10
      • 2017-11-16
      • 1970-01-01
      • 2012-02-25
      • 2021-10-27
      • 2013-07-29
      相关资源
      最近更新 更多