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

简介:

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 ,如需转载请自行联系原作者


相关文章
|
5月前
|
SQL 数据库
|
8月前
|
SQL BI
sql中从不同表查询并组合数据示例
sql中从不同表查询并组合数据示例
|
8月前
|
SQL Oracle 关系型数据库
sql语句两个字段合并或者两个字段拼接显示
sql语句两个字段合并或者两个字段拼接显示
|
SQL Oracle 关系型数据库
【SQL系列】拼接列值
使用函数 CONCAT 可以拼接多列的值。在 DB2、Oracle 和 PostgreSQL 中,函数 CONCAT 的简写为 ||。
226 1
|
SQL Oracle 关系型数据库
【SQL系列】按子串排序
【SQL系列】按子串排序
153 0
|
索引 数据库
SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题
原文:SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题   本文出处:http://www.cnblogs.com/wy123/p/7884986.
2301 0
SQL 循环遍历结果集
SQL 循环遍历结果集
238 0
|
SQL
SQL 操作结果集 -并集、差集、交集、结果集排序
原文:SQL 操作结果集 -并集、差集、交集、结果集排序 操作结果集   为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物。   表:Person_1魏国人物       表:Person_2蜀国人物      A、Union形成并集     Union可以对两个或多个结果集进行连接,形成“并集”。
2534 0
单行子查询返回多个行
       大家是不是也经常碰到单行子查询返回多个行的错误提示。我已经碰到数次这种错误了,这种错误是基于数据存在的,开发人员也许在最初写这个查询语句的时候没有合适的数据,所以没有发现错误,当满足条件的数据出现后才会给出这种错误提示,特别是非常复杂的查询语句,排查原因变得非常困难。
1865 0