【发布时间】:2017-12-26 18:01:24
【问题描述】:
我的情况是我有一张简化后的表格,如下所示:
Sort| IsHeader
1 | 0
2 | 0
3 | 1
4 | 0
5 | 0
6 | 1
7 | 0
8 | 0
9 | 0
我正在尝试进行一个查询,该查询将为每个详细信息行更新一个新的 HeaderSort 行,以显示该行属于哪个标题,最终结果如下:
Sort| IsHeader| HeaderSort
1 | 0 | 0
2 | 0 | 0
3 | 1 | 3
4 | 0 | 3
5 | 0 | 3
6 | 1 | 6
7 | 0 | 6
8 | 0 | 6
9 | 0 | 6
在 T-SQL 中我可以很容易地做到这一点:
update MT set HeaderSort =
(
select isnull(max(Sort),0) from MyTable where Sort <= MT.Sort and IsHeader = 1
) as HeaderSort
from MyTable MT
我的访问版本尝试如下:
Update MyTable set HeaderSort =
(
select nz(max(Sort),0) from MyTable where Sort <= MT.Sort and IsHeader = 1
)
但是,这给出了“操作必须使用可更新查询”。错误。 是我获取值的逻辑错误,还是只是一些 ms-access 语法?
【问题讨论】: