在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 语句中写起个别名!
...全文
352 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧