2012-06-19 90 views
0

以下是我的表格腳本和記錄。單行SQL結果

create table prods 
(prod_no varchar2(12)); 

insert into prods 
values('MOBILE'); 

insert into prods 
values('LAPTOP'); 

select prod_no from prods;給我

MOBILE 
LAPTOP. 

我怎樣才能得到的結果類似下面的?

MOBILE LAPTOP。我希望在一行中記錄兩條記錄。

+0

你google一下? - http://www.dba-oracle.com/t_sql_output_one_line.htm – codingbiz

+0

是否有附加要求?有幾種方法可以做到這一點。 [這是一個](http://sqlfiddle.com/#!4/24337/6)。每個解決方案可能會或可能不會工作,因爲如所述,它不清楚爲什麼你要這樣做。 –

+0

我想這樣做一些檢查。我的表總是有兩個記錄,但數據不斷變化。 – user75ponic

回答

2
create table prods 
(prod_no varchar2(12)); 

insert into prods 
values('MOBILE'); 

insert into prods 
values('LAPTOP'); 

select 
    rtrim (xmlagg (xmlelement (e, prod_no || ' ')).extract ('//text()'), ' ') list 
from 
prods; 

LIST                    
--------------------------------------------------------- 
MOBILE LAPTOP                 
1 row selected. 

SQLFIDDLE:link

+0

謝謝,這有幫助。 – user75ponic

0

試試這個:

--Transact-SQL 
--In this case, store in the variable varchar values 
declare @result varchar(max) = ''; 

select @result = @result + prod_no + ' ' from prods; 

select @result; 
+0

:這不適用於oracle。 –

+0

適用於Transact-SQL – batressc

+0

:標記爲oracle 10g –