Oracle11g 在oracle 11g中将行显示为列
在下面需要你们的帮助,我必须从我的桌子上实现下面的目标 电磁脉冲表Oracle11g 在oracle 11g中将行显示为列,oracle11g,pivot,Oracle11g,Pivot,在下面需要你们的帮助,我必须从我的桌子上实现下面的目标 电磁脉冲表 Record Id EMP Id Emp Name Emp Dept -------- ------- ------- -------- 1 123 ABC Sales 2 - 231 PQR DEPT 我想在下面的格式输出 Record ID Table Name Colu
Record Id EMP Id Emp Name Emp Dept
-------- ------- ------- --------
1 123 ABC Sales
2 - 231 PQR DEPT
我想在下面的格式输出
Record ID Table Name Column Name column Values
-------- ---------- ----------- -------------
1 EMP EMP Id 123
1 EMP Emp Name ABC
1 EMP EMP Dept Sales
如果有人能提供带有示例的查询,您会非常感激的。您可以在一个临时表中尝试类似的方法 临时表模式
Record ID Table Name Column Name column Values
质疑
可能重复的
BEGIN
FOR t IN (SELECT table_name,column_name
FROM all_tab_columns
WHERE table_name='MyTable' and owner='MySchema' and column_name<>'RecordId' ) LOOP
EXECUTE IMMEDIATE
'INSERT INTO temp_table SELECT RecordId,'''||t.table_name||''','''||t.column_name||''','||t.column_name||' FROM ' || t.table_name;
END LOOP;
COMMIT;
END;
/
SELECT *
FROM temp_table
ORDER BY "RecordId";