这个update为什么报错?该如何改?

goldtogo 2003-09-12 05:58:44
update dt_gslb1 set dt_gslb1.gsid=dt_gsk1.id where dt_gslb1.cn_name=dt_gsk1.cn_name


dt_gslb gsid cn_name
null 中国公司
null 美国公司

dt_gsk1 id cn_name
1 中国公司
2 美国公司

就是给相当于给dt_gslb1赋值

报错如下:
服务器: 消息 107,级别 16,状态 3,行 1
列前缀 'dt_gsk1' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 'dt_gsk1' 与查询中所用的表名或别名不匹配。
...全文
32 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzh1215 2003-09-13
  • 打赏
  • 举报
回复
update dt_gslbl
set a.gsid=b.id
from dt_gslbl a,dt_gsk1 b
where a.cn_name=b.cn_name
eminena 2003-09-13
  • 打赏
  • 举报
回复
update dt_gslb1 set dt_gslb1.gsid=dt_gsk1.id from dt_gslb, dt_gsk1 where dt_gslb1.cn_name=dt_gsk1.cn_name
zhbname 2003-09-13
  • 打赏
  • 举报
回复
語句中,應存在 FROM聯接兩個表的句子。因為UPDATE中引用了另外一個表的字段。
henry_gz 2003-09-13
  • 打赏
  • 举报
回复
update dt_gslb1
set gsid=k1.id
from dt_gslb1 b1,dt_gsk1 k1
where b1.cn_name=k1.cn_name
happy_0325 2003-09-12
  • 打赏
  • 举报
回复
update dt_gslb1 set dt_gslb1.gsid=dt_gsk1.id from dt_gslb1,dt_gsk1 where dt_gslb1.cn_name=dt_gsk1.cn_name
晨星 2003-09-12
  • 打赏
  • 举报
回复
学习。
aierong 2003-09-12
  • 打赏
  • 举报
回复



update dt_gslb1
set gsid=b.id
from dt_gslb as a join dt_gsk1 as b on a.cn_name =b.cn_name
hjb111 2003-09-12
  • 打赏
  • 举报
回复
update dt_gslb1 set dt_gslb1.gsid=dt_gsk1.id from dt_gslb1,dt_gsk1 where dt_gslb1.cn_name=dt_gsk1.cn_name
goldtogo 2003-09-12
  • 打赏
  • 举报
回复
没用别名啊
  • 打赏
  • 举报
回复
楼主:这不是写的很清楚吗?

列前缀 'dt_gsk1' 与查询中所用的表名或别名不匹配。

检查一下是否 表名或别名不匹配

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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