2014-01-17 66 views
-1

我想環路打印,每次3次,其打印一個字從這個3 SELECT循環中的打印,每次3次,其打印一個字從這個3 PRINT

PRINT I'm mark 

PRINT HI 
PRINT hello 
PRINT how are you 

我試試這個

DECLARE @i INT 
SET @i = 0 

PRINT 'Im mark' 
WHILE @i < 1 
BEGIN 
PRINT 'hi' 
SET @i = @i + 1 
END 
PRINT '-------------------' 
SET @i = 0 
PRINT 'Im mark' 
WHILE @i < 1 
BEGIN 
PRINT 'hello' 
SET @i = @i + 1 
END 
PRINT '-------------------' 
SET @i = 0 
PRINT 'Im mark' 
WHILE @i < 1 
BEGIN 
PRINT 'how are you' 
SET @i = @i + 1 
END 

但循環中的所有區塊3次我想要的結果是這樣 我希望有一個循環,它只是一個簡單爲例我的工作是大

-----loop I------ 
I'm mark 
Hi 

-----loop II------ 
I'm mark 
hello 

-----loop III------ 
I'm mark 
how are you 
+1

這不容易理解。請提供樣本輸入和輸出,以便我們更好地瞭解您的需求。 – MarkD

+1

爲什麼你需要一個循環?你可以使用'UNION ALL'來連接行,儘管我真的不明白這個要求。 –

+0

我更新我的問題我只是想循環單詞(我是馬克)每次打印3次嗨或你好,或者你怎麼樣我說 – user3190075

回答

0
create table #test(id int,col varchar(50)); 
insert into #test values(1,'HI'); 
insert into #test values(2,'hello'); 
insert into #test values(3,'how are you'); 


declare @msg varchar(50); 
declare @i int; 
declare @msgTemp varchar(50); 

set @msg='I m Mark' + CHAR(13); -- Char(13) is the New Line character in TSQL 
set @i=1; 

while(@i<4) 
     begin 
     print @msg 

     select @msgTemp=col 
     from #test where [email protected] 

     print @msgTemp + CHAR(13) 

     set @[email protected]+1; 
     end 

Drop table #test