T-SQL 存储过程实现 逐行打印表格的数据,但是同一行的数据要用逗号隔开,非同一行的数据用分号隔开

表格的大小在实际应用中是变化的。

用xml和stuff的模式可以得到:

create table tab3
(
word varchar(20),
[weight] int
)
 
insert into tab3
select 'fat',3 union all
select 'ugly',2 union all
select 'dumb',2 union all
select 'stupid',3

select value=stuff ((SELECT   ';'+  word+','+cast([weight] as varchar) FROM tab3 FOR xml path('')), 1, 1, '')

参考:http://hi.baidu.com/elvisxue/item/dd9b04968d0076df7a7f011f

追问

追答

你的意思是列不固定吧?那就只能用动态SQL来写。比如你从sys.all_columns里把表列全选出来,赋值给变量,然后stuff语句用动态SQL,最后exec (@sql)

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-04
SELECT  STUFF((SELECT ';'+[Word]+',' +[Weight] FROM youTalbeName FOR XML PATH('')) , 1, 1, '')

T-SQL 存储过程实现 逐行打印表格的数据,但是同一行的数据要用逗号隔开...
create table tab3(word varchar(20),[weight] int) insert into tab3select 'fat',3 union allselect 'ugly',2 union allselect 'dumb',2 union allselect 'stupid',3select value=stuff ((SELECT ';'+ word+','+cast([weight] as varchar) FROM tab3 FOR xml path('')), 1, ...

如图如何在数据库里用T-SQL语句打印出那个图形,关键是怎么控制print的...
在需要换行的地方加\\n,如123\\n,就会在123后面换行

T-sql 将同张表中两个不同字段的数据根据条件对调?
语句就是这样的,where条件中对号段的判断需要你自己完成。

...sql server存储过程实现查询数据条数过大,分页查询怎么实现?_百度...
(1)、将全部数据先查询到内存中,然后在内存中进行分页,这种方式对内存占用较大,必须限制一次查询的数据量。(2)、采用存储过程在数据库中进行分页,这种方式对数据库的依赖较大,不同的数据库实现机制不通,并且查询效率不够理想。以上两种方式对用户来说都不够友好。2.解决思路 通过在待查询的...

如何通过写sql存储过程计算第一个的结束时间和第二个的开始时间(数据量...
先做个不受那么多限制的,这个ID不用是必须步长为1的可以中间有缺少的。呵呵是这个意思吗?select *,DATEDIFF(day,结束时间,下条的开始时间) as 时间差 from (select ,(select top 1 开始时间 from test z where z.ID>a.ID order by ID) as 下条的开始时间 from test a )b ...

sql server与excel、access数据互导
1、SQL Server导出为Excel:要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作用为“以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返 回任何输出。”下面为定义示例:2、Excel导入SQL Server表:在SQL Server中,有定义一个OpenDateSo...

T-SQL语言中数据定义语言、数据操纵语言中所包含的主要语句和功能_百 ...
CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程 CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式 DROP SCHEMA ...

用一个Sql语句查询出表中的一个字段的数据类型问题。
用Sql语句查询指定表格中指定字段的数据类型 一、语句通过systypes,syscolumns,sysobjects,三个系统表格联合检索获取结果。systypes:数据库支持的数据类型属性。syscolumns:数据库中各表格结构属性。sysobjects:数据库中所有对象的属性。二、检索语句演示 1、示例表格:base_zwb 2、语句如下:select name from...

sql 一行数据改成多行
下面的函数是一个非常有用的自定义数,是用来提取字串中某一部份的,请您执行一下,把他建立到您的数据库中,今后对您的编程会提供很大的方便。当然,本例所用的函数就是这个函数。create FUNCTION mysplit--将以某分隔符分段的字串,按指定的顺序号提取子串 (@str nvarchar(2000),--源字串 sn ...

VF 用的是什么语言?
我们可以看到:Visual FoxPro与FoxPro是由很大差别的,不要再把Visual FoxPro成为FoxPro了。这些特性是:数据库容器(Database Container),也叫DBC,它增加了开发人员多年盼望的对存储过程的支持、与表格相关联的数据规则和一系列的附加数据功能。 远程数据的无缝连接。谈到连接远程数据的处理,大家往往会想到RDO、ADO、BDE等...

相似回答