• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

很简单的遍历语句,请高手指点~

bitlaoyuan 2008-03-25 01:07:18
两个表
tab1:
c1(varchar) c2(int)
hahahaha 0
lalalala 0
hehehehe 0


tab2:
cc1(varchar) cc2(int)
haha 1
lalaha 0
lala 1

要干的东东是:
用tab2里cc2等于1的所有cc1到tab1里执行如下操作:如果charindex(tab.cc2,tab.c1)>0,就set c2 = 1
...全文
70 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bitlaoyuan 2008-03-25
我很怀疑我这个需求叫不叫遍历...
回复
bitlaoyuan 2008-03-25
原来这么简单,看我写的:
update tab1
set c2 = 1
where charindex(select cc1 from calss where cc2 = 1,tab.c1)>0

纯新手摸索中~
回复
Limpire 2008-03-25
update t set c2 = 1 from tab1 t where exists (select 1 from tab1 a, tab2 b where a.c1=t.c1 and b.cc2=1 and charindex(b.cc1,a.c1)>0)
回复
bitlaoyuan 2008-03-25
哈哈,多谢老乌龟~
回复
dawugui 2008-03-25
create table tab1(c1 varchar(20),  c2 int) 
insert into tab1 values('hahahaha', 0)
insert into tab1 values('lalalala', 0)
insert into tab1 values('hehehehe', 0)
create table tab2(cc1 varchar(20), cc2 int)
insert into tab2 values('haha' , 1 )
insert into tab2 values('lalaha' , 0 )
insert into tab2 values('lala' , 1 )
go

update tab1
set c2 = 1
from tab1,tab2 where tab2.cc2 = 1 and charindex(tab2.cc1,tab1.c1) > 0

select * from tab1

drop table tab1,tab2

/*
c1 c2
-------------------- -----------
hahahaha 1
lalalala 1
hehehehe 0

(所影响的行数为 3 行)
&/
回复
bitlaoyuan 2008-03-25
55,半夜没人了
回复
bitlaoyuan 2008-03-25
55,半夜没人了
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-25 01:07
社区公告
暂无公告