+ -
当前位置:首页 → 问答吧 → 求一条简单的sql语句

求一条简单的sql语句

时间:2011-12-28

来源:互联网

表T1有一个字段fsNums
一条记录fsNums值为:"1,2,3"
另一条记录fsNums值为:"4,5,6"

表T2有一个字段fsNum,共有十条记录;
这十条记录的fsNum值分别为:1 2 3 4 5 6 7 8 9 10

现我要找出T2表中fsNum字段的值,在T1表中fsNums字段中能找的到的记录
如上例结果,这条语句查出来的记录为:
T2表fsNum字段值为1 2 3 4 5 6这6条记录;

select t2.fsNum as num from T2 where fsNum ....??..... (select fsNums from T1 ....??.....) ....??.....
类似这样的语句,要达到我要的效果

作者: chenao11   发布时间: 2011-12-28

SQL code
select * from T2 a where exists(select 1 from T1 where charindex(','+ltrim(a.fsNum)+',',','+fsNums+',')>0)

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

or:
SQL code
select * from T2 a where exists(select 1 from T1 where  ','+fsNums+',' like '%,'+ltrim(a.fsNum)+',%')

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

引用 1 楼 qianjin036a 的回复:
SQL code

select * from T2 a where exists(select 1 from T1 where charindex(','+ltrim(a.fsNum)+',',','+fsNums+',')>0)

引用 2 楼 qianjin036a 的回复:



强!mark

作者: ju523756055   发布时间: 2011-12-28

SQL code
select T2.fsNum from T2,T1 where instr(T1.fsNums,T2.fsNum)>0

顶qianjin036a

作者: xpingping   发布时间: 2011-12-28

不好意思,忘了介绍;T1表的fsNums字段类型为text类型;
如果','+fsNums 则会报错
text 和 varchar 在add 运算附中不兼容

作者: chenao11   发布时间: 2011-12-28