2015-02-09 50 views

回答

0

可能使用JOIN;假設你的表被稱爲T,你可以做SELECT t1。 ,t2。,t3。*從T作爲T1,T作爲T2,T作爲T3);但機會是,這是不是你想要

+0

非常感謝您的回覆,我仍然感到困惑。 – 2015-02-09 22:41:31

+0

1填寫20 2 test2 30 3 test3 40我想要一行填寫20,測試30,test3 40在一欄中,請大家幫忙。 – 2015-02-09 22:51:26

0

您可以使用稱爲窗口功能之一導致

use TSQL2012 

if object_id('pract1') is not null 
drop table pract1 
go 

create table pract1 (
id int identity(1,1) primary key, 
name varchar(20) , 
number int 
) 

insert into pract1(name,number) 
values 
('infill',20), 
('test2',30), 
('test4',40) 


Select concat(name,' ',number) as currentrow, 
concat(lead(name,1) over (order by id), ' ', lead(number,1) over (order by id)) as currentplusonerow, 
concat(lead(name,2) over (order by id), ' ', lead(number,2) over (order by id)) as [current+2] 
from pract1 

currentrow currentplusonerow current+2 
infill 20 test2 30   test4 40 
test2 30 test4 40  
test4 40   

編輯什麼:我剛纔注意到你給了,你想有內的一切附加評論一列。然後,下面的代碼將爲您執行它:

Select concat(name,' ',number) +', '+ 
concat(lead(name,1) over (order by id), ' ', lead(number,1) over (order by id)) +', '+ 
concat(lead(name,2) over (order by id), ' ', lead(number,2) over (order by id)) as [desiredResult] 
from pract1 

有一些空的空間,因爲,第2行和第3行沒有行電流+ 2。

+0

非常感謝Mikajlo8。 – 2015-02-10 00:07:41

+0

你如何知道OP使用SQL Server? – 2015-02-10 01:26:03

+0

我真的不知道,但因爲MINH沒有明確說明,我提供了SQL服務器的語法,因爲這是我最舒服的。問候 ;-) – Mikajlo8 2015-02-10 01:51:28