CREATE TABLE a(aa int)
INSERT INTO dbo.a
( aa )
VALUES ( 3 -- aa - int
)
declare @i INT
DECLARE @count INT
DECLARE @sql1 VARCHAR(2000),@sql2 VARCHAR(2000),@sql3 VARCHAR(2000)
SELECT @count=aa FROM a
--PRINT @sql1
set @i=1
while @i<=@count
begin
SET @sql2=' union all select * from a'
--PRINT @sql2 ----1
set @i=@i+1
--PRINT @sql2 ----2
end
PRINT @sql2 ------3
这个语句里面,为什么1,2都显示的是2条,到了3就显示1条了,
怎么叫3能显示成2条,,,,
------解决方案--------------------
CREATE TABLE a(aa int)
INSERT INTO dbo.a
( aa )
VALUES ( 3 -- aa - int
)
declare @i INT
DECLARE @count INT
DECLARE @sql1 VARCHAR(2000),@sql2 VARCHAR(2000),@sql3 VARCHAR(2000)
select @sql2=''
SELECT @count=aa FROM a
--PRINT @sql1
set @i=1
while @i<=@count
begin
SET @sql2=@sql2+' union all select * from a'
--PRINT @sql2 ----1
set @i=@i+1
--PRINT @sql2 ----2
end
PRINT @sql2 ------3
这样??
------解决方案--------------------
CREATE TABLE a(aa int)
INSERT INTO dbo.a
( aa )
VALUES ( 3 -- aa - int
)
declare @i INT
DECLARE @count INT
DECLARE @sql1 VARCHAR(2000),@sql2 VARCHAR(2000),@sql3 VARCHAR(2000)
SELECT @count=aa FROM a
--PRINT @sql1
set @i=1
while @i<=@count
begin
SET @sql2=' union all select * from a'
--PRINT @sql2 ----1
--PRINT @sql2 ----2
set @i=@i+1
PRINT @sql2 ------3
END
DROP TABLE a
GO