处女帖:请问如何把一张表按每一条记录水平拆分为N张只有一条记录的表?

Mississauga 2013-10-10 08:55:53
请问如何把一张表按每一条记录水平拆分为N张只有一条记录的表? 网上搜索了很久也没找到类似情况...

原有表A:
----------------------------------
id 产品 订购数量
1 AA 3
2 BB 2
3 CC 2
4 DD 1


====================================
拆分为A1-AN个表,每个表只有一条记录:

-------------------------
表A1:
----------------------------------
id 产品 订购数量
1 AA 3

表A2:
----------------------------------
id 产品 订购数量
2 BB 2
...全文
123 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mississauga 2013-10-10
  • 打赏
  • 举报
回复
引用 3 楼 ZaoLianBuXiQi 的回复:

--动态将一张表数据拆成一条数据是一张表
if object_id('A') is not null
drop table A
GO
CREATE TABLE A
(
	ID INT PRIMARY KEY,
	产品 nvarchar(10),
	订购数量 int
)
go
insert into a
select 1,'AA',3 UNION ALL
select 2,'BB',2 UNION ALL
select 3,'CC',2 UNION ALL
select 4,'DD',1
go
declare @count int,@i int
select @count = count(*) from a
set @i=1

select @count

while (@i <= @count)
begin

declare @name nvarchar(10),@sql nvarchar(100),@sql1 nvarchar(100)
set @name = 'b'+convert(nvarchar(10),@i)

--动态创建表
set @sql = N'select * into '+@name+' from a where 1<>1'	--复制表结构
--print @sql
exec sp_executesql @sql
--插人数据
set @sql1 = N'insert into ' + @name + ' select * from a where id = '+convert(nvarchar(10),@i)
--print @sql1
EXEC sp_executesql @sql1

--查询
EXEC ('SELECT * FROM ' + @name )

--动态删除表
--set @sql = N'drop table '+@name
----print @sql
--exec sp_executesql @sql

set @i=@i+1
end



太谢谢了,怎么给分你啊? 第一次发帖两眼一抹黑啊...
MrYangkang 2013-10-10
  • 打赏
  • 举报
回复

--动态将一张表数据拆成一条数据是一张表
if object_id('A') is not null
drop table A
GO
CREATE TABLE A
(
	ID INT PRIMARY KEY,
	产品 nvarchar(10),
	订购数量 int
)
go
insert into a
select 1,'AA',3 UNION ALL
select 2,'BB',2 UNION ALL
select 3,'CC',2 UNION ALL
select 4,'DD',1
go
declare @count int,@i int
select @count = count(*) from a
set @i=1

select @count

while (@i <= @count)
begin

declare @name nvarchar(10),@sql nvarchar(100),@sql1 nvarchar(100)
set @name = 'b'+convert(nvarchar(10),@i)

--动态创建表
set @sql = N'select * into '+@name+' from a where 1<>1'	--复制表结构
--print @sql
exec sp_executesql @sql
--插人数据
set @sql1 = N'insert into ' + @name + ' select * from a where id = '+convert(nvarchar(10),@i)
--print @sql1
EXEC sp_executesql @sql1

--查询
EXEC ('SELECT * FROM ' + @name )

--动态删除表
--set @sql = N'drop table '+@name
----print @sql
--exec sp_executesql @sql

set @i=@i+1
end



Mississauga 2013-10-10
  • 打赏
  • 举报
回复
引用 1 楼 hdhai9451 的回复:
分成N张表后,你是如何返回给用户呢?这样第一张表就是一个记录集,.net里面有DataSet可以返回多个记录集,可以使用游标循环,每一次select一条记录作为一张表,在.net里用DataSet接收数据集
能把分N张表的SQL语句简单写一写吗?不懂怎么用游标...
Andy__Huang 2013-10-10
  • 打赏
  • 举报
回复
分成N张表后,你是如何返回给用户呢?这样第一张表就是一个记录集,.net里面有DataSet可以返回多个记录集,可以使用游标循环,每一次select一条记录作为一张表,在.net里用DataSet接收数据集
Mississauga 2013-10-10
  • 打赏
  • 举报
回复
继续请教:如果没有ID列,上面代码该怎么改? ====================== 产品 订购数量 AA 3 BB 2 DD 2 DD 1
煲机的概述:   指新买回的音响器材得通电一段时间后才会让重放的音质变好。 煲机是一种快速使器材老化稳定的措施。有些元器件例如晶体管、集成电路、电容全新的时候电器参数不稳定,经过一段时间的使用后才能逐渐稳定。对于耳机来说,煲机实际就是在煲振膜折环,新耳机振膜折环机械顺性差,导致失真比较大,经过一段时间使用后,顺性逐渐变好,失真也会逐渐降到正常的水平。 煲机是人为的以非正常使用的方式加速器材进入成熟期的过程,一般是让器材连续工作一定的时间。而未“煲”过或未“煲”够火候儿的音箱和耳机,声音的特点可以用“紧、冷、硬、粗”四个字来形容,而“煲”后的产品则醇和、顺滑、细腻很多,仿佛发酵不全的新酒与陈年佳酿相比一般,它们的“味道”还是大不一样的。 这个“煲”字用得可是形象贴切的紧,意思是要着意伺弄,不宜“炒”、不宜“炸”,更不宜“烧”,而是要文火慢炖,慢功出细活。 新的音响器材呢,就像新车,都有个磨合期。 这里介绍一种比较安全、简单的煲机方法,你就拿着白噪音和粉红噪音轮流播放着煲去吧。 音量要适中,可逐渐加大。 下面这段是转的: 白噪声或粉红噪声之类是自然状态的噪声。之所以叫白噪声,粉红噪声,是由光波的谱线图就是光谱图类比而来,白噪声的特点是各频段的能量均匀(频谱类似太阳光谱即白光光谱),粉红噪声是在低频段强在高频段弱的噪声(频谱图类似偏红的光谱即粉红光谱)。 1: 白噪音white noise 所谓白噪音是指一段声音中的频率分量的功率在整个可听范围(0~20KHZ)内都是均匀的。由于人耳对高频敏感一点这种声音听上去是很吵耳的沙沙声。 2: 粉红噪音pink noise 粉红噪音是自然界最常见的噪音,简单说来,粉红噪音的频率分量功率主要分布在中低频段。粉红噪音从人耳中听到的是平直的频率响应——"非常悦耳的一种噪声"最常用于进行声学测试的声音。 3: 电视机无信号时的背景噪声和调频收音机无台时的背景噪声均是白噪声。白噪声可用来测量扬声器和耳机的谐振和灵敏度等。 4: 从波形角度看,粉红噪音是分形的,在一定的范围内音频数据具有相同或类似的能量。粉红噪声的电平从低频向高频不断衰减,其幅度与频率成反比(1/f)。其幅度每倍频程(一个8度)下降3dB。噪声能量在每倍频程内是相等的。 5: 从频谱仪的图形上看,白噪声在全频谱内是一条平直的线。 6: 从频谱仪的图形上看,粉红噪声是在一个小段频谱内平直的线,并且以其倍数频率向下衰减。即1倍频,2倍频……频率越高谱线高度越低。 白噪声是一种无规噪声,它的瞬时值是随机变化的。它的幅值对时间的分布满足正态分布。它具有连续的噪声谱,包含有各种频率成分的噪声。它的功率谱密度与频率无关,几个频率能量的分布是均匀的。它的等带宽输出的能量是相等的。它在线性坐标中,输出是一根平行与横坐标的直线。在对数坐标中,输出是按每倍频程带宽增加3dB的斜率而上升的。 粉红噪声与白噪声一样也是一种无规噪声,也具有连续的噪声谱。不同之处在于,它的功率谱密度与频率成反比,在对数坐标中,起输出为一水平线,在线性坐标中,其输出以每倍频程3dB下降。 在人耳可听的频率范围内,具有相同能量的噪声称为白噪声。白噪声广泛用于环境声学测量中。 ===================================分割线================================= 附上wav格式的白噪音 粉红噪音各一个(文件大小:18.7M)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧