當前位置:首頁 » 編程語言 » sql列變行Oracle
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql列變行Oracle

發布時間: 2023-03-30 05:44:37

『壹』 sql題:怎麼把ORACLE資料庫中的數據列統計轉化成行顯示

--將分組統計存入臨時表
select substring([DATE],5,2),sum([IN]) into #tmp from 表 where substring([DATE],1,4)='1900' group by substring([DATE],5,2)

--生成行列轉換的SQL語句
declare @sql varchar(1024)
set @sql = 'select '
select @sql = @sql + 'sum(case [DATE] when '''+[DATE]+''' then [IN] end) as '+[DATE] from (select distinct [DATE] from #tmp) as a
set @sql = @sql+' from #tmp'

--執行語句並清理臨時表
exec(@sql)
drop table #tmp

『貳』 oracle sql 列轉行

使用NOT
IN
,我寫一下給你,弊缺等等
SELECT
編號
FROM

WHERE
數據
NOT
IN
(數據='1'
and
數據=
'2'
and
數據=『3』);
這樣租陸辯你查出的結果是
數據那一項不在
123
這3個值中的
你看看能悉腔不能理解,可以繼續追問

『叄』 oracle行轉列sql怎麼寫

行轉列的准則就是通過主鍵進行分組,之後對行其它欄位加上sum()、max()、count()函數,里邊用decode()這類函數進行處理,總之分組不要用到他就成。

『肆』 SQL語句怎麼轉成ORACLE語句

--定義參數
v_ids varchar(4000);

--列轉行並將值寫入參數
select to_char(wm_concat (MyColumn1)) into v_ids from MyTable;

『伍』 oracle sql 中 如何實現table的行列轉換

你所謂的行列轉換應該是指縱表轉橫表,橫表轉縱表.
給你個例子
縱表轉橫表:
使用DECODE語句,可以很方便的將縱表轉為橫表,例子如下:
原表查詢結果:
ID MAJOR CURRENT_CREDITS
------ ---------------- ---------------
10000 Computer Science 98
10000 History 88
10001 Computer Science 75
10000 Economics 66
我們要把各科成績從同一列轉到不同的列中去。
SQL>?select id,
sum(decode(major,』Computer Science』,current_credits,0)) cs,
sum(decode(major,』History』,current_credits,0)) his,
sum(decode(major,』Economics』,current_credits,0)) eco
from students
group by id
ID CS HIS ECO
------ ----------- ------------- -----
10000 98 88 66
10001 75

橫表轉縱表:
使用 UNION 即可實現將橫表轉為縱表,以上面的表為例:
轉換前:
ID CS HIS ECO
------ ----------- ------------- -----
10000 98 88 66
SQL>?select id, 』Computer Science』 major,cs current_credits
from students
union
select id, 』History』 major,his current_credits
from students
union
select id, 』Economics』 major,eco current_credits
from students
ID MAJOR CURRENT_CREDITS
------ ---------------- ---------------
10000 Computer Science 98
10000 History 88
10000 Economics 66