输入的字符串分割后 ,通过查询语句查询结果集

简介:

declare @str1 varchar(max), @str2 varchar(max), @str3 varchar(max) 
set @str1 = 'iphone,华为,三星' 
select * into #tbu from [dbo].SplitString(@str1, ',', 1)
create table #uu(FNUMBER varchar(1000), wlmc varchar(1000),fname varchar(1000), FBASEQTY decimal(10,0))
while exists(select 1 from #tbu)
begin
select top 1 @str2=Value from #tbu
insert into #uu 
SELECT m.FNUMBER,ml.fname wlmc,TSL.fname,cast(sum(TI.FBASEQTY) as decimal(10,0)) FBASEQTY
FROM (select FBASEQTY,FSTOCKID,FMATERIALID,FSTOCKSTATUSID from T_STK_INVENTORY where FMATERIALID>1 and FBASEQTY<>0) TI 
inner JOIN (select fnumber,FMASTERID,FMATERIALID from T_BD_MATERIAL where FMASTERID>1) M ON M.FMATERIALID = TI.FMATERIALID 
inner JOIN (select FMATERIALID,FLOCALEID,fname from T_BD_MATERIAL_L where FMATERIALID>1) ML ON (M.FMASTERID = ML.FMATERIALID And ML.FLOCALEID = 2052) 
inner JOIN (select FSTOCKID,fname,FLOCALEID From T_BD_STOCK_L where FSTOCKID>1) TSL ON (TSL.FSTOCKID = TI.FSTOCKID AND TSL.FLOCALEID =2052) where ML.FName like '%'+@str2+'%'
group by ml.fname,m.FNUMBER,tsl.fname,TSL.fname 
order by 1

         delete from #tbu where value=@str2
         end

select distinct * From #uu 
drop table #uu,#tbu












本文转自51GT51CTO博客,原文链接:http://blog.51cto.com/yataigp/2049798 ,如需转载请自行联系原作者


相关文章
|
1月前
|
SQL Oracle 关系型数据库
sql语句两个字段合并或者两个字段拼接显示
sql语句两个字段合并或者两个字段拼接显示
|
10月前
|
存储 SQL 分布式计算
linkis 结果集
linkis 结果集
65 0
linkis 结果集
|
SQL 数据库
tkMapper之使用Weekend拼接条件进行条件查询
tkMapper之使用Weekend拼接条件进行条件查询
257 0
|
存储 关系型数据库 MySQL
mysql字符串等值查询中条件字段值末尾有空格也能查到数据问题
mysql字符串等值查询中条件字段值末尾有空格也能查到数据问题
224 0
|
SQL Oracle 关系型数据库
【SQL系列】拼接列值
使用函数 CONCAT 可以拼接多列的值。在 DB2、Oracle 和 PostgreSQL 中,函数 CONCAT 的简写为 ||。
155 1
|
关系型数据库 MySQL 数据库
select distinct去掉重复查询结果|学习笔记
快速学习select distinct去掉重复查询结果
228 0