【发布时间】:2018-06-18 10:15:48
【问题描述】:
我有 2 张桌子。表1和表2
TABLE1 TABLE2
ID | SIZE | VALUE ID | SIZE | SCORE
1 | LOW | 1.0 1 | MID | 3232
2 | MID | 3.0 2 | MID | 2321
3 | HIGH | 5.0 3 | HIGH | 3232
我想要的是更新 TABLE2.SCORE,所以值将是 TABLE1.value 列,连接是 SIZE。
OUTPUT:
ID | SIZE | SCORE
1 | MID | 3.0
2 | MID | 3.0
3 | HIGH | 5.0
我试过了:
Update Table2 set SCORE=(select top(1) VALUE from TABLE1 join TABLE2 on table1.size=table2.size ) 但是这不起作用我得到这个结果:
OUTPUT:
ID | SIZE | SCORE
1 | MID | 3.0
2 | MID | 3.0
3 | HIGH | 3.0 <---- wrong
【问题讨论】:
-
你是什么意思“不起作用”?您是否收到错误、意外结果?
-
@larnu 所需的输出是错误的,我得到了相同的分数
-
table2.SCORE 列是整数,除非您将列更改为十进制 (2,1) 数据类型,否则您可以显示为十进制值
标签: sql sql-server