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
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
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
怎么写?
试了你们的语句,又有新问题了
因为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)
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
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
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
怎么写?
试了你们的语句,又有新问题了
因为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)
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)