SQL语句?如何用一张表的数据更新另一张表的数据?

时间:2021-12-04 14:46:19
我有2张表
a:
ID
Name

b:
ID
aID
Price

我想在a表中加一个字段Price,并把b中对应aID的Price更新到a表的新字段中
怎么写SQL?

4 个解决方案

#1


alter table a add Price money

update a set a.Price = b.Price from a join b on a.ID = b.aID

#2


--add column
ALTER TABLE a 
ADD Price MONEY

--update value
UPDATE a SET m.Price = n.Price FROM a m, b n WHERE m.ID = n.ID

#3


谢谢楼上2位
试了你们的语句,又有新问题了
因为b表中的aID是重复的,也就是说每一行a的数据在b中有很多个price
我要在a的新price中的数据为b中最小的price
怎么写?

#4


--try

UPDATE a SET m.Price = n.Price FROM a m, b n WHERE m.ID = n.ID AND n.Price IN (SELECT MIN(Price) FROM b WHERE ID = n.ID)

#1


alter table a add Price money

update a set a.Price = b.Price from a join b on a.ID = b.aID

#2


--add column
ALTER TABLE a 
ADD Price MONEY

--update value
UPDATE a SET m.Price = n.Price FROM a m, b n WHERE m.ID = n.ID

#3


谢谢楼上2位
试了你们的语句,又有新问题了
因为b表中的aID是重复的,也就是说每一行a的数据在b中有很多个price
我要在a的新price中的数据为b中最小的price
怎么写?

#4


--try

UPDATE a SET m.Price = n.Price FROM a m, b n WHERE m.ID = n.ID AND n.Price IN (SELECT MIN(Price) FROM b WHERE ID = n.ID)