【发布时间】:2015-06-02 14:26:43
【问题描述】:
我在 SQL Server 表中有很多列,其中包含数字。 我需要检查特定列的最大数字并输出表中每一行的列名。
例如:
RED | BLUE | GREEN | BLACK | Highest Column
0 2 1 4 BLACK <-- Outputted result of an expression
我有一个从数据库表中提取所有列的数据集。 我需要一个表达式来评估数据并返回最高值的列名。
我不确定这种情况背后的逻辑。任何帮助将不胜感激。
这是一份 SSRS 报告。
【问题讨论】:
-
如果有超过 1 列保存最高值怎么办?
-
当您想以相同的方式处理 multiple 列中的数据时,这表明您的数据模型有些损坏。这通常表明这些列应该是
Colour和Value(或Score,或这些数字中的每一个代表的任何数字),并使用 4 个 行 来存储这些数据。这样,颜色最终以 data 的形式出现,而不是嵌入到表 metadata 中,并且查询也很容易编写。 -
另外,当您想纠正问题中的某些内容时,您可以edit 它,而不必在其下方写评论。 (对于格式化,
{}按钮是你的朋友) -
颜色和值是任意信息。实际数据工作正常。我已经简化了实际结构,以便于排除故障。
-
即使您已经抽象了这个概念,重点仍然存在 - 您想要计算的数据(计算聚合、比较值等),应该包含在单个列,您会发现 data 已嵌入在无法查询的列 names 中。
标签: sql-server reporting-services