请教一个SQL

[复制链接]
查看11 | 回复3 | 2008-1-2 17:35:53 | 显示全部楼层 |阅读模式
表jw_xsxx和表xj_xjb的数据结果完全相同。我希望表xj_xjb中的字段xh和jw_xjxx中字段xh相同的记录将表jw_xsxx中ywxm字段置为qaz.
我用下面的SQL执行报错:
update jw_xjxx set ywxm='qaz' where xh=xj_xjb.xh
ORA-00904: "XJ_XJB"."XH": 无效的标识符

而改为:
update jw_xjxx a set ywxm='qaz' where a.xh=(select b.xh from xj_xjb b where a.xh=b.xh);
语句执行成功。

我想请教的是前面的SQL问题出在哪里。
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
xj_xjb表数据都没有用上
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
update jw_xjxx set ywxm='qaz' where xh=xj_xjb.xh
后边那个表xj_xjb根本就没经过查询,怎么知道xh=xj_xjb.xh
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
最初由 guyeh 发布
[B]表jw_xsxx和表xj_xjb的数据结果完全相同。我希望表xj_xjb中的字段xh和jw_xjxx中字段xh相同的记录将表jw_xsxx中ywxm字段置为qaz.
我用下面的SQL执行报错:
update jw_xjxx set ywxm='qaz' where xh=xj_xjb.xh
ORA-00904: "XJ_XJB"."XH": 无效的标识符

而改为:
update jw_xjxx a set ywxm='qaz' where a.xh=(select b.xh from xj_xjb b where a.xh=b.xh);
语句执行成功。

我想请教的是前面的SQL问题出在哪里。 [/B]


强烈建议你去买本数据库的书看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行