SQL 中更新一个表的数据是从另外的表查询出来的。怎么处理

就是给表1 字段1 更新一个值 。这个值是从表2 的当表2的‘姓名’字段的值等于 ‘王’的时候的 ID字段的值。
查询是这样的 select ID from 表2 where 姓名 = '王'
更新 update 表1 set 字段1 = 后面应该怎么写
我写成这样提示错误。update 表1 set 字段1 = select ID from 表2 where 姓名 = '王' where 表1.name = ' 李 '
因为update还要加where条件。。我应该怎么做

第1个回答  2007-11-05
你要把第二张表的姓名字段的数据更新到第一张表的字段一中,但是条件是表二的姓名字段等于王字的数据!

update 表一 set 字段一=表二.姓名 where 表二.姓名 ='王'

这些是针对你的问题而产生的结果!

我也是初学者!看到你的sql语句,顺便提醒下:
如果想加条件用where,但是如果想加多个条件不能一个where一个条件

如果你要添加或的关系用or就可以了,如果要添加和的关系,那么用and就可以了!

or和and是一个用法!

比如说:
select * from 表 where 字段一 ='5' or 字段二='abc'
第2个回答  2007-11-04
update 表1
set 字段1 = (select ID from 表2 where 姓名 = '王') --该值要唯一的。不唯一执行不通过。
where 表1.name = ' 李 '本回答被提问者采纳
相似回答