2012-10-05 44 views
2

我对SQL很陌生,感觉这是一个非常简单的问题,但我无法想出自己的解决方案。SQL比较两列和覆盖值以跟踪最大值

我有一个表T - 为了简化它,有两列:Vals和Max。瓦尔斯和马克斯持有花车,而马克斯追踪瓦尔斯的最高价值,因为我不断更新瓦尔斯列。所以:

瓦尔斯.....最大

4 .......... 3

5 .......... 2

8 .......... 9

2 .......... 5

9 .......... 4

将成为

瓦尔斯.....最大

4 .......... 4

5 .......... 5

8 ... ....... 9

2 .......... 5

9 .......... 9

+0

您可以在触发器内实现逻辑,以便每次更新'Vals'列时,'Max'列也会根据情况进行检查和更新。 – HABO

回答

2
update mytable set [max]=[vals] where [vals]>[max] 

注意,最大是一个保留的窝rd,所以你可能想要选择另一个名字来保持简单。