数据库 调用其他表数据

来源:百度知道 编辑:UC知道 时间:2024/05/11 21:28:06
请问,使用sql语言如何实现下面操作
比如,b表有x,y数据,b(x,y)
a表有z,a(z)
然后直接这样
update a
set z=x-y
会出错的
使用什么语句能实现呢
哪位达人教教我啊

declare @a int,@b int
select @a=x from b
select @b=y from b
update a set z=@a-@b

这样就可以了

x和y字段在表b,所以你少了条件
update a set z=x-y from a,b

首先,你的概念不对,一个表不可能只有一些数据,肯定是有行和列。不知道你说的x,y,z是列名还是具体的数据?表a,b里面各有多少条记录?

如果是列名的话,你用update语句一定要结合一个条件的,因为a,b的记录数并不是一对一的关系,那数据库怎么知道你用b表哪一条记录的x和y去update a表哪一条记录的z呢?

如果a表是空的,那么应该用insert而不是update
insert into a (z) select x-y from b