【发布时间】:2018-02-02 18:27:19
【问题描述】:
我有以下查询,它返回它在该列中找到的最长单词的编号:
SELECT
MAX(LEN(id)) AS id,
MAX(LEN(linkToTbl2)) AS linkToTbl2,
MAX(LEN(description)) AS description,
MAX(LEN(number)) AS number,
MAX(LEN(line)) AS line,
MAX(LEN(network)) AS network,
MAX(LEN(type)) AS type,
MAX(LEN(IPhase)) AS IPhase,
MAX(LEN(environment)) AS environment,
MAX(LEN(sType)) AS sType,
MAX(LEN(bDescription)) AS bDescription
FROM
bLine
但是,如果该列小于该列的标题,则在计算最大值时不会考虑这一点。
示例(我想要做什么):
|id | linkToTbl2 | description |
+---+------------+-------------------------+
|14 |hi |This is just a demo. |
|16 |baa |Another description here.|
在示例查询中如下所示:
|id |linkToTbl2 |description |
+---+-----------+------------+
|2 |10 |25 |
这就是我的 SSRS 报告中目前的样子:
|id |lin|description |
| |kTo| |
| |tbl| |
| |2 | |
|---|---|-------------------------|
|14 |hi |This is just a demo. |
|16 |baa|Another description here.|
这在查询中看起来像这样:
|id |linkToTbl2 |description |
|---|-----------|------------|
|2 |3 |25 |
注意linkToTbl2 字段是如何压缩的,因为该列中的最长值为 3 (baa)。 linkToTbl2 将是 10 (linkToTbl2) 所以它应该是 10 而不是 3。
如何将列名添加到查询中以进行计数?
【问题讨论】:
-
您不能在应用程序级别执行此操作吗?那里似乎更简单。
-
@GordonLinoff 这样做会更容易,但在我目前的情况下,最好通过查询来完成。
标签: sql sql-server reporting-services ssrs-2016