日期:2014-05-17  浏览次数:20437 次

新手求一条SQL语句怎么写,mssql
有两个表
表a,有字段
ID(自增,key)  序号(唯一)   名称
1              ssd001     name1
2              ssd002     name2
3              ssd003     name3
4              ssd004     name4
5              ssd005     name5


表b,有字段
ID(自增,key)  序号(不唯一)   名称
1              ssd001     NULL
2              ssd001     NULL
3              ssd001     NULL
4              ssd004     NULL
5              ssd005     NULL

问表b如何根据序号在表a中查出序号相对应的名称,并把名称更新到表b中?


------解决方案--------------------
update b
set 名称 = a.名称
from a
where b.序号 = a.序号


------解决方案--------------------
update ssd_history_day set StationName = 
(select 
StationName 
from 
ssd_aws_station 
where 
        ssd_history_day.StationNum = ssd_aws_station.StationNum 
and ssd_aws_station.StationType = 1
)

这语句应该返回一行 如果返回多行就报错
------解决方案--------------------
try this,

update ssd_history_day 
 set StationName = 
 (select top 1 StationName 
  from ssd_aws_station