sql查询语句求解

sinat_35221602 2018-02-01 06:52:47
现在有两张表
表一如下:

表二如下:

如何查询表一中code列的字符串包含表二中code值的数据
即应查到id为1,2,5的数据

目前知道用instr 但是具体的where条件应该怎么写?
...全文
546 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rings2000 2018-04-10
  • 打赏
  • 举报
回复
使用like 或者 Partindex函数
中国风 2018-02-02
  • 打赏
  • 举报
回复
SELECT t1.*
FROM table1 AS t1
     INNER JOIN table2 AS t2 ON t1.code LIKE '%,'+t2.code+',%';
日月路明 2018-02-02
  • 打赏
  • 举报
回复
使用like 或者 Partindex函数
二月十六 版主 2018-02-02
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T1') is null
drop table #T1
Go
Create table #T1([ID] int,[code] nvarchar(32))
Insert #T1
select 1,N',001,002,004,' union all
select 2,N',002,003,' union all
select 3,N',003,005,' union all
select 4,N',006,' union all
select 5,N',004,'
GO
if not object_id(N'Tempdb..#T2') is null
drop table #T2
Go
Create table #T2([ID] int,[code] nvarchar(23))
Insert #T2
select 1,N'001' union all
select 2,N'002' union all
select 3,N'004'
Go
--测试数据结束
SELECT *
FROM #T1
WHERE EXISTS ( SELECT *
FROM #T2
WHERE CHARINDEX(',' + #T2.code + ',', #T1.code) > 0 )


吉普赛的歌 版主 2018-02-01
  • 打赏
  • 举报
回复
Select * from t1 where exists( Select 1 from t2 where t1.code like '%,'+t2.code+',%' ) 手机打,先这样吧
sinat_35221602 2018-02-01
  • 打赏
  • 举报
回复
自顶rtrt

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧