sql将查询出来的一列的值用作标题 20

列下面的值还要对应显示比如说:正常查询出的值应该是标题1标题2一1二2我想要的结果是一二12不知道可不可以,谢谢... 列下面的值还要对应显示
比如说:正常查询出的值应该是
标题1 标题2
一 1
二 2
我想要的结果是
一 二
1 2
不知道可不可以,谢谢
展开
 我来答
百度网友e1d2d2ca5
2008-05-08 · TA获得超过100个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:150万
展开全部
/*
标题:通过查询结果建表

作者:yangzell
时间:2008-05-08
地点:四川成都
说明:通过查询返回的一列值建表,环境sql server 2000
*/

------------------------
--环境建立:暂时省略

-------------------------------------
--清理掉表,tablename是将要创建的表名
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablename]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tablename]
GO
-------------------------------------
declare @mysql varchar(1000) --建表的SQL字符串
declare @clm_name varchar(100) --列名

--定义游标
DECLARE test_cursor CURSOR FOR
SELECT ltrim(rtrim(clmname)) FROM table2 --table2是你查询的表名,clmname是你查询的列名
where clmname is not null --查询的条件
group by clmname --过滤重复的结果
order by clmname

OPEN test_cursor

-- 获得首条记录
if @@CURSOR_ROWS=0
select '没有查询结果 无法建立表'
else
-- 生成建表字符串
begin
set @mysql ='create table tablename ('
fetch next from test_cursor into @clm_name
set @mysql=@mysql + '[' + @clm_name + '] varchar(50)'
if @@fetch_status=0
begin
fetch next from test_cursor into @clm_name
-- .
WHILE @@FETCH_STATUS = 0
BEGIN
-- This is executed as long as the previous fetch succeeds.
set @mysql=@mysql +',['+ @clm_name +'] varchar(50)'
FETCH NEXT FROM test_cursor into @clm_name
END
set @mysql=@mysql +')'
end
print @mysql --显示建表SQL语句
EXECUTE (@mysql)

select * from tablename --查看新建立的表
end

CLOSE test_cursor
DEALLOCATE test_cursor

GO

====================
列下面的值还要对应显示是什么意思,你干脆给数据示例吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式