我们有一个表格,可以收集连接到嵌入式计算机的传感器的计数。我有一个具有以下架构的表:
CREATE TABLE Demo (
PKColumn BIGINT
, FKColumn INT
, ...
, EventDateTime DATETIME
, Count1 INT
, Count2 INT
, Count3 INT
, Count4 INT
)
问题是,对于 FKColumn = 1,净计数将是 (Count1 + Count3) - (Count2 + Count4)。但对于 FKColumn = 2,净计数将为 (Count2 + Count4) - (Count1 + Count3)。数据从嵌入式计算机流入,根据该计算机上传感器的校准方式,我们可以对每个计数的含义有不同的定义。
幸运的是,一旦安装了传感器,它们就永远不会改变。
不幸的是,传感器的安装方式缺乏控制……这就是问题所在。
由于每个 FKColumn 值的每个列的定义可能不同,因此构建聚合函数的最高效方式是什么。我正在考虑使用一个映射表来定义每个 FKColumn 的每个传感器是什么,但是当我构建该解决方案时,看起来每个计算的查找都会花费太多。
数据库在 Azure 中运行,因此没有 CLR 函数。
有没有其他人遇到过这种情况?你是怎么解决的?