带动态阈值的条件连接

时间:2016-04-13 14:47:37

标签: sql sql-server

我有一个表格,其中包含有关活动日期的信息,以及一个配置表格,描述了何时发送提醒以及提醒内容包含的内容。每个活动都可以有一个或多个提醒。

配置表包含:

  • 事件类型ID(template_internal_id)
  • 提醒编号
  • 提醒阈值(从事件发送提醒的天数)
  • 提醒消息

configuration table

第二个表包含一系列事件,并且应该将提醒与事件后的天数相匹配。现在,如果我知道可能的阈值的数量,它看起来像这样

http://localhost:8888/workspace/AngA/#/phones

依此类推所有门槛。但是,正如我所提到的,我不知道我会有多少门槛。一个模板可以有3个阈值,另一个模板可以有5个阈值。查询需要运行一个可以处理这两种情况(和其他情况)的过程。

非常感谢您的建议。

谢谢!

1 个答案:

答案 0 :(得分:0)

您知道将始终使用前3个阈值,因此您可以无条件地使用这些阈值。对于此示例,我将使用<进行所有比较,但您需要根据需要进行调整。

ON ... AND event_age < first AND event_age < second AND event_age < third

此时,第四和第五个阈值是可选的:

ON ... AND ... event_age < third AND (fourth IS NULL OR event_age < fourth) AND (fifth IS NULL OR event_age < fifth)

通过这种方式,仅在填充阈值时才使用阈值。如果已填充所有内容,请将___ IS NULL替换为template_id <> ___