当前位置:Gxlcms > 数据库问题 > sql

sql

时间:2021-07-01 10:21:17 帮助过:2人阅读

 简述  tab1 ,tab2----------查询出 sid 对应的pid列表 1 创建函数 在ssms -sql中  2 写sql
sid migncheng  pids
1 场景1  1,2
2 场景2   1,2
3 场景3   1

 


pid mingcheng
1 单品1
2 单品2

 

 

 1 函数 如下

Create function [dbo].[Func_FenGe]
(
-- 需要解析的字符串
@str nvarchar(max),
-- 分隔符
@split varchar(10)
)
returns @t Table (c1 varchar(100))
as
begin
declare @i int
declare @s int
set @i=1
set @s=1
while(@i>0)
begin
set @i=charindex(@split,@str,@s)
if(@i>0)
begin
insert @t(c1) values(substring(@str,@s,@i-@s))
end
else
begin
insert @t(c1) values(substring(@str,@s,len(@str)-@s+1))
end
set @s = @i + 1
end
return
end

   2sql 如下 select * from tb1 where tb1.pid in (
select * from dbo.[Func_FenGe]((select tb2.pids from tb2 where id=1),‘,‘)

sql

标签:

人气教程排行