91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

通過sql實現動態行轉列

發布時間:2020-06-30 18:51:54 來源:網絡 閱讀:1246 作者:小陳子057 欄目:關系型數據庫

上一章我們講了固定行轉列,本章我們就將一下怎么動態實現行轉列的。因為有時候需要行專列的值有成千上萬條,不可能再用固定行轉列的方法,否則你一定會崩潰掉的。好了,廢話不多說,開始吧!
常見一張表tmp_test,內容如下:
通過sql實現動態行轉列

實現代碼:
create or replace procedure p_test is
v_sql varchar2(2000);

cursor cursor_1 is
select distinct subject from tmp_test order by subject;

begin
v_sql := 'select username';
for v_subject in cursor_1 loop
v_sql := v_sql || ',' ||'sum(decode(subject,''' ||v_subject.subject ||''',source)) as ' ||v_subject.subject;
dbms_output.put_line(v_sql);
end loop;

v_sql := vql || ' from tmp_test group by username';
dbms_output.put_line(v_sql);

v_sql := 'create or replace view test_result as ' || v_sql;

execute immediate v_sql;

end;
存儲過程已經寫好了,開始調用存過:
begin
p_test;
end;

查詢視圖test_result:
代碼實現:
select * from test_result;
數據如下:
通過sql實現動態行轉列

到這一步,動態行轉列就已經實現了!希望對小伙伴有幫助!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇义县| 巫溪县| 普宁市| 安平县| 青河县| 汤阴县| 光山县| 慈利县| 北流市| 赤壁市| 上饶县| 塔河县| 太湖县| 江山市| 师宗县| 得荣县| 化州市| 常州市| 阿克陶县| 柏乡县| 宜昌市| 平塘县| 安平县| 平陆县| 日土县| 台中市| 本溪市| 云浮市| 浪卡子县| 屏东县| 镇巴县| 民县| 合肥市| 吕梁市| 阿勒泰市| 巴南区| 常宁市| 永吉县| 三台县| 阿城市| 沾益县|