欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql查询结果,怎么不用循环movenext方法获得全部值

更新时间: 2014-01-05 02:17:16 责任编辑: Author_N1

 

SQL查询结果,如何不用循环movenext方法获得全部值
有一条sql查询语句,通过外部调用
select id from tablename

目前是通过循环的方式获得字段id的值有值
表结果如下:
id  bigint 自动编号
Title nvarchar(30) 
----------------------------
id  Title
1   A
2   B
3   C
4   D
5   E
6   F
-----------------------------

目前是通过
select id from tablename
然后用
do while not rs.movenext
    idList = idList & "," & rs("id")
    rs.movenext
loop
获得所有的id

有没有更简单的方法,不需要通过循环,不需要通过rs.movenext,直接sql查询完后获得所有的id?

--参考方法--
select stuff ((select ','+id from tablename  FOR XML PATH('')),1,1,'')

--参考方法--
----------------------------------------------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-12-31 10:20:27
-- Version:
--      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
-- Dec 28 2012 20:23:12 
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[tablename]
if object_id('[tablename]') is not null drop table [tablename]
go 
create table [tablename]([id] int,[Title] varchar(1))
insert [tablename]
select 1,'A' union all
select 2,'B' union all
select 3,'C' union all
select 4,'D' union all
select 5,'E' union all
select 6,'F'
--------------开始查询--------------------------

select DISTINCT
stuff((select ','+CONVERT(VARCHAR(max),id) from [tablename] b 
       --where b.col1=a.col1 and b.col2=a.col2 
       for xml path('')),1,1,'') [id]
from [tablename]
----------------结果----------------------------
/* 
id
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1,2,3,4,5,6
*/

--参考方法--
引用:
目前外部循环的方法:
将表1的所有Title通过循环方式取得1条记录,取到1条记录后,再将当前记录的Title跟表2的description进行like匹配,再将匹配的结果循环取值到变量中,完成当前匹配后,再取表1的下一条记录。


能不能换一下,把description 作为外部循环,每次取出1条,然后对内层的表1 的所有title,循环一次,然后再是外层的第二条记录,再对内层的循环一次
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:17:16
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7998/
本文WWW.DOC100.NET DOC100.NET版权所有。