sql 更新让值等于从另一个查询出来的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 更新让值等于从另一个查询出来的值相关的知识,希望对你有一定的参考价值。
UPDATE tblbwzc SET userid = (select id from t_myuser where username=601005) WHERE id = 8
应改怎么写才对,让tblbwzc 表中id = 8 的userid 等于从t_myuser表中查出的username=601005 的id 值,两张表没有关联,高手
declare @id int
select @id=id from t_myuser where username=601005
UPDATE tblbwzc SET userid = @id WHERE id = 8本回答被提问者采纳 参考技术B UPDATE tblbwzc SET userid = (select id from t_myuser where username=601005) WHERE id = 8;
这个写法要确保select id from t_myuser where username=601005查询的结果是一条数据,不然会出现错误
另一张表和tblbwzc 表有关联字段吗?追问
没有
参考技术C update table1 a set a.col1=(select col2 from table2 where col3=a.col3) 参考技术D select id from t_myuser where username=601005你这个语句查出来的值是多少有几个,什么类型的。你的tblbwzc中的userid是什么类型的? 第5个回答 2012-05-21 UPDATE tblbwzc SET userid = (select distinct id from t_myuser where username=601005) WHERE id = 8追问
不对啊,提示还是一样
[Err] 1292 - Truncated incorrect DOUBLE value: 'b'
userid 和id 是不是不是同一种数据类型啊?若不是转一下就OK了
更新表字段,从另一个表中查询出来
UPDATE t
SET t.Premium = (SELECT TOP 1 Max( t2.Premium )
FROM dbo.TableName t2
WHERE t2.SetId = 2012 AND t2.Id = t.ID)
FROM dbo.TableName t
WHERE t.SetId = 2013
以上是关于sql 更新让值等于从另一个查询出来的值的主要内容,如果未能解决你的问题,请参考以下文章