用select 能不能按一条记录中的 数量 字段的值列出数量值的行数?

surname 2007-11-28 04:55:38
用select 能不能按一条记录中的 数量 字段的值列出数量值的行数?

比如

create table t1 (a1 varchar(10),a2 varchar(10),数量 int)

insert into t1 values('aa','bb',2)
insert into t1 values('cc','ff',3)

用select 可不可以做得到下面的结果
a1 a2
---------------------
aa bb
aa bb
cc ff
cc ff
cc ff



...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
azhhuoiu 2007-11-28
  • 打赏
  • 举报
回复
drop table t1
create table t1 (a1 varchar(10),a2 varchar(10), qty int)

insert into t1 values('aa','bb',2)
insert into t1 values('cc','ff',3)
declare @aa varchar(8000)
declare @a1a2 varchar(20)
declare @i int
set @aa=''
DECLARE abc CURSOR FOR
SELECT distinct a1+a2 FROM t1
OPEN abc
FETCH NEXT FROM abc into @a1a2
WHILE @@FETCH_STATUS = 0
BEGIN
select @i=qty from t1 where a1+a2=@a1a2
set @aa=@aa+REPLICATE('union all select * from t1 where a1+a2='''+@a1a2+'''',@i)
print @aa
FETCH NEXT FROM abc into @a1a2
END
CLOSE abc
DEALLOCATE abc
set @aa=right (@aa,len(@aa) - 9)
print @aa
exec(@aa)



aa bb 2
aa bb 2
cc ff 3
cc ff 3
cc ff 3

fa_ge 2007-11-28
  • 打赏
  • 举报
回复

create table t1 (a1 varchar(10),a2 varchar(10),数量 int)

insert into t1 values('aa','bb',2)
insert into t1 values('cc','ff',3)

select * from t1

select top 100 id=identity(int,1,1) into # from syscolumns

select a1,a2
from t1,#
where #.id<=数量

/*
a1 a2
---------- ----------
aa bb
aa bb
cc ff
cc ff
cc ff

(所影响的行数为 5 行)
*/
中国风 2007-11-28
  • 打赏
  • 举报
回复
create   table   t1   (a1   varchar(10),a2   varchar(10),数量   int) 

insert into t1 values('aa','bb',2)
insert into t1 values('cc','ff',3)

go
select Top 50 ID=Identity(int,1,1) into # from sysobjects--生成递增辅助表


select
a1,a2
from
t1
join
# t2 on t1.数量!<t2.ID

a1 a2
---------- ----------
aa bb
aa bb
cc ff
cc ff
cc ff

(所影响的行数为 5 行)


34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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