+ -
当前位置:首页 → 问答吧 → 菜鸟请教SQL写法

菜鸟请教SQL写法

时间:2011-12-07

来源:互联网

有两个表table a,table b 均有两个字符串字段x,y. 查询这样的结果,只要b.x是 a.x某记录的子集就将b.y的值更新为a.y的值。 

tabel a
  x y
AABBCCDD 6768
TTCCXXDD 8788
HJHJHJHJ 9999

tabel b

  x y
BBCC 1232
CXXDD 87
HJ 6699


运行结果,将B更新为


tabel b
  x y
BBCC 6768
CXXDD 8788
HJ 9999

菜鸟请教SQL写法

作者: danielxiong   发布时间: 2011-12-07

SQL code
update b set y=a.y from tableA a inner join tableB b on charindex(b.x,a.x)>0

作者: qianjin036a   发布时间: 2011-12-07

update b set y = a.y from b , a where charindex(b.x , a.x) > 0

作者: dawugui   发布时间: 2011-12-07

SQL code
update b set y=a.y from tableA a ,tableB b on charindex(b.x,a.x)>0

作者: ssp2009   发布时间: 2011-12-07

SQL code

if object_id('a') is not null
   drop table a
go
create table a
(
 x varchar(10),
 y int
)
go
insert into a
select 'AABBCCDD',6768 union all
select 'TTCCXXDD',8788 union all
select 'HJHJHJHJ',9999
GO
if object_id('b') is not null
   drop table b
go
create table b
(
 x varchar(10),
 y int
)
go
insert into b
select 'BBCC',1232 union all
select 'CXXDD',87 union all
select 'HJHJ',6699
go
update b set b.y=a.y from b inner join a on charindex(b.x,a.x)>0
go
select * from b
/*
x          y
---------- -----------
BBCC       6768
CXXDD      8788
HJHJ       9999

(3 行受影响)

*/

作者: pengxuan   发布时间: 2011-12-07

SQL code
update b set y=a.y from tableA a ,tableB b where charindex(b.x,a.x)>0

作者: fredrickhu   发布时间: 2011-12-07

热门下载

更多