在Update语句中给表指定别名的问题。

CTO 2015-10-09 07:03:17
table1表中引用如下,下面2行数据是相互链接的 (parentid)
ID, Party1Id, Party2Id, ParentID
1, 11, 22,
2, 22, 11, 1

现在想把11和33链接,更新的结果应该如下:
ID, Party1Id, Party2Id, ParentID
1, 11, 33,
2, 33, 11, 1

语句出错:table1有2个!
UPDATE table1 SET Party1Id=33
FROM table1 T1 WHERE T1.ID = table1.ParentID AND T1.ID = 1

主要是table1没有办法在Update 语句中写起个别名!
...全文
244 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shinger126 2015-10-12
UPDATE b SET b.Party1Id=33
FROM table1 b,table1 a WHERE b.ID = a.ParentID AND b.ID = 1
回复
firer2006 2015-10-11
可以这样写如下:
UPDATE table1 SET Party1Id=33 FROM (select ID, Party1Id, Party2Id, ParentID from table1)as T1 WHERE T1.ID = table1.ParentID AND T1.ID = 1
回复
CTO 2015-10-11
没人知道吗?
回复
CTO 2015-10-10
顶一下顶一下
回复
CTO 2015-10-09
这个不对啊,Party2Id 可以是有重复的: ID, Party1Id, Party2Id, ParentID 1, 11, 22, 2, 22, 11, 1 3, 66, 22, 4, 22, 66, 3
回复
BOKYYY 2015-10-09
UPDATE table1 SET Party1Id=33 WHERE Party2Id= (select Party1Id from table1 where id=1)
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-10-09 07:03
社区公告
暂无公告