我很难制定这个问题。但是,我最好在技术上描述它。
我想更新,请说出具有以下形式的用户表:
--------------------------------------------------------------
UserID ROLE_NAME VALUE
--------------------------------------------------------------
001 VALUE_Q xx
002 VALUE_W xx
003 VALUE_Q xx
--------------------------------------------------------------
和喜欢ID与用户中的多个用户相关,如此
--------------------------------------------------------------
LikeId Likes VALUE
--------------------------------------------------------------
001 Code xx
002 Fun xx
003 Eat xx
--------------------------------------------------------------
和另一个与User Table to Many to Many有关的表有以下信息Let Say UserToLikeingTable
UserToLikingID UserId LikeId
--------------------------------------------------------------
01 001 001
02 002 001
03 002 002
--------------------------------------------------------------
此外,另一个表直接从UserTable
保存UserId--------------------------------------------------------------
TESTTABLEID USER_ID VALUE
--------------------------------------------------------------
001 001 100
002 002 220
003 003 400
004 002 231
--------------------------------------------------------------
我想要的是,首先列出共享相同喜欢的重复用户,我已经在#TempTable中做了如下操作
--------------------------------------------------------------
LikeID UserId VALUE
--------------------------------------------------------------
001 001 100
001 002 200
002 003 400
002 004 500
003 005 211
003 005 210
--------------------------------------------------------------
我想将上述LikeID
结果中共享相同#TempTable
的所有用户更新为TESTTABLE,如下所示:我的结果结果如下:使用LikeID更新上一个所有LikeID的UserId结果
TESTTABLEID USER_ID VALUE
--------------------------------------------------------------
001 001 100
002 001 220
003 002 400
004 002 500
--------------------------------------------------------------
我提供的任何帮助都非常多吗?如何在循环中运行以更新值?
Hint
:
Update TestTable set UserId = #Temptable.LikeId
FROM #Temptable
where #Temptable.UserId = TestTable.UserId
如果我必须更新并删除重复的UserId
第一个sum
值并为其存储一个代表性的LikeId,该怎么办?
而不是将所有userId
替换为LikeId
,而是将所有值相加并替换一个LikeId?
答案 0 :(得分:2)
请根据要求使用连接,这里的sql看起来像:
Update TestTable set UserId = #Temptable.LikeId
from TestTable as test
inner join #Temptable on #Temptable.UserId = test.UserId