| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 588 人关注过本帖
标题:数据库中表之间的转换怎么做
只看楼主 加入收藏
Bladehanyuan
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-6-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
数据库中表之间的转换怎么做
表一
       A    B    C
I      1    2    3

II     4    5    6

III    7    8    9
怎么转换成表二

序号  C1     C2    C3
1     I       A    1
2     I       B    2
3     I       C    3
4     II      A    4
5     II      B    5   
6     II      C    6
7     III     A    7
8     III     B    8
9     III     C    9
搜索更多相关主题的帖子: 数据库 
2013-06-22 10:23
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:20 
*****************************************************
The following is the complete code that can be
directly executed to get results what you wanted.
If you have any questions please send me a message.
*****************************************************

----------Create a table named YourTable----------
IF EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[dbo].[YourTable]') AND type in (N'U'))
DROP TABLE [dbo].[YourTable]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[YourTable](
    [ID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [A] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [B] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [C] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

GO
----------insert data into YourTable----------
Delete From [dbo].[YourTable]
GO

Insert Into YourTable(ID,A,B,C) Values('I','1','2','3')
GO

Insert Into YourTable(ID,A,B,C) Values('II','4','5','6')
GO

Insert Into YourTable(ID,A,B,C) Values('III','7','8','9')
GO
----------To see the YourTable data------
select ID,A,B,C from [dbo].[YourTable]
------To see the converted table data-----
declare @ID varchar(50)
declare @A varchar(50)
declare @B varchar(50)
declare @C varchar(50)
declare @Table TABLE(C1 varchar(50),C2 varchar(50),C3 varchar(50))
declare ABC_Cursor cursor scroll for
SELECT ID,A,B,C  FROM [dbo].[YourTable]
open ABC_Cursor
fetch next from ABC_Cursor into @ID,@A,@B,@C
while(@@fetch_status=0)
begin
    insert into @Table(C1,C2,C3) values(@ID,'A',@A)
    insert into @Table(C1,C2,C3) values(@ID,'B',@B)
    insert into @Table(C1,C2,C3) values(@ID,'C',@C)
    fetch next from ABC_Cursor into @ID,@A,@B,@C
end
Close ABC_Cursor
deallocate ABC_Cursor
select * from @Table
Go
------------------End---------------------
Resuts:
图片附件: 游客没有浏览图片的权限,请 登录注册



[ 本帖最后由 303770957 于 2013-6-26 09:10 编辑 ]

♂ 死后定当长眠,生前何须久睡。♀
2013-06-24 15:05
快速回复:数据库中表之间的转换怎么做
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022934 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved