以下是我的表格腳本和記錄。單行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
。我希望在一行中記錄兩條記錄。
以下是我的表格腳本和記錄。單行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
。我希望在一行中記錄兩條記錄。
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
謝謝,這有幫助。 – user75ponic
我認爲你需要旋轉表格。通過下面的網址去
訪問:http://blogs.msdn.com/b/spike/archive/2009/03/03/pivot-tables-in-sql-server-a-simple-sample.aspx
:樞軸是在oracle 11g –
試試這個:
--Transact-SQL
--In this case, store in the variable varchar values
declare @result varchar(max) = '';
select @result = @result + prod_no + ' ' from prods;
select @result;
你google一下? - http://www.dba-oracle.com/t_sql_output_one_line.htm – codingbiz
是否有附加要求?有幾種方法可以做到這一點。 [這是一個](http://sqlfiddle.com/#!4/24337/6)。每個解決方案可能會或可能不會工作,因爲如所述,它不清楚爲什麼你要這樣做。 –
我想這樣做一些檢查。我的表總是有兩個記錄,但數據不斷變化。 – user75ponic