【发布时间】:2019-01-17 03:51:08
【问题描述】:
只是想弄清楚如何编写一个 T-SQL 查询,该查询允许我使用来自其他两列的两个值的 concat 更新列值(称为 range),按顺序为表中的每一行。
我尝试了以下方法,但它所做的只是获取表中的顶行值,并使用相同的值更新“每个”单列,而不管范围如何。
UPDATE dbo.levels
SET level_1_range = CONCAT(min_level_1, '-', max_Level_1)
我希望它看起来像这样:
date | min_level_1 | max_level_1 | level_1_range
---------+-------------+-------------+---------------
01/01/18 | 1 | 10 | 1-10
02/02/18 | 20 | 25 | 20-25
但我的代码返回更像
date | min_level_1 | max_level_1 | level_1_range
---------+-------------+-------------+--------------
01/01/18 | 1 | 10 | 1-10
02/02/18 | 20 | 25 | 1-10
【问题讨论】:
-
您的查询与预期结果完全不符。您在查询中有
level_1_range,但在预期结果中没有。请同时显示样本数据 -
编辑了主要内容以匹配 - 我在这里没有使用真实值。
标签: sql sql-server