oraclesql行轉列
『壹』 oracle資料庫裡面如何把一行數據轉化為列顯示
可用union all來實現。
如test表中數據如下:
『貳』 Oracle 資料庫行轉列
createtableA(名稱varchar2(10),"1月"varchar2(10),"2月"varchar2(10),"3月"varchar2(10),"4月"varchar2(10))
insertintoAvalues('土豆',50,60,70,80);
insertintoAvalues('白菜',150,160,170,180);
commit;
select*fromA;
select*from(
select名稱,'1月'月份,"1月"值fromA
unionall
select名稱,'2月'月份,"2月"值fromA
unionall
select名稱,'3月'月份,"3月"值fromA
unionall
select名稱,'4月'月份,"4月"值fromA)
where名稱='土豆'
結果:
『叄』 ORAClE sql如何實現行轉列
如果「站名」、「條碼」、「時間」都是一樣的話,可以這么寫:
with
t_temp as (select row_number() over (partition by station_name order by param_name asc) id, t.* from t),
t_temp1 as (select * from t_temp where id = 1),
t_temp2 as (select * from t_temp where id = 2),
t_temp3 as (select * from t_temp where id = 3)
select '站名' col1, '條碼' col2, t_temp1.參數名 col3, t_temp2.參數名 col4, t_temp3.參數名 col5, '時間' col6
from t_temp1, t_temp2, t_temp3
where t_temp1.站名 = t_temp2.站名
and t_temp2.站名 = t_temp3.站名
union all
select t_temp1.站名, t_temp1.條碼, to_char(t_temp1.數值), to_char(t_temp2.數值), to_char(t_temp3.數值), to_char(t_temp1.時間)
from t_temp1, t_temp2, t_temp3
where t_temp1.站名 = t_temp2.站名
and t_temp2.站名 = t_temp3.站名
『肆』 oracle/sql/toad語句怎麼寫,行轉列
select 姓名,地址, wmsys.WM_CONCAT(VALUE1),max(電話) 編號 from 表A GROUP BY 姓名,地址
看max(電話)
『伍』 oracle 如何將 行轉換為列 (具體如下,求sql)
WITHAAS(SELECTID_F,LINE_F,STAGE_F,UNITSTAGE_F,CAST(CHILDSTAGE_FASVARCHAR(100))ASCHILDSTAGE_F,PARENTID_FFROM表名WHEREPARENTID_FISNULL
UNIONALL
SELECT表名.ID_F,表名.LINE_F,表名.STAGE_F,表名.UNITSTAGE_F,CAST(A.CHILDSTAGE_F+表名.CHILDSTAGE_FASVARCHAR(100))ASCHILDSTAGE_F,表名.PARENTID_F
FROM表名JOINAON表名.PARENTID_F=A.ID_F)
SELECTLINE_F,STAGE_F,UNITSTAGE_F,CHILDSTAGE_F
FROMA
WHEREPARENTID_FISNOTNULL
『陸』 oracle行轉列sql怎麼寫
統計數據一般需要行專列都是把原始數據用SQL寫入臨時表,第一行寫入臨時表第一個欄位,第二行寫入臨時表第二個欄位....,然後再從臨時表查詢已經轉為列的數據。
『柒』 oracle行轉列sql怎麼寫
行轉列的准則就是通過主鍵進行分組,之後對行其它欄位加上sum()、max()、count()函數,里邊用decode()這類函數進行處理,總之分組不要用到他就成。
『捌』 oracle資料庫關於把表的行變成列
姓名 數學 語文 姓名 張飛 趙雲 龐統
張飛 60 61 數學 60 80 99
趙雲 80 85 變成 語文 61 85 80
龐統 99 80
而且第一行為列名,不是表中的數據,這樣的話
也就是第一個表下面三行的數據,變成第二個表下面兩行的數據
這樣還是可以的
『玖』 Oracle 行轉列,逗號分隔
selectwm_concat(t.operatorid)from表t