Una consulta dinámica en Oracle está diseñado para convertir las columnas a las filas y viceversa . , Ya que supone el énfasis de los datos de una columna de salida a una salida basándose en las filas , por lo general un resumen de los datos como se ve en el siguiente ejemplo , que muestra las ciudades y los nombres de un conjunto de personas : nombre de la ciudad ----- ------------------ New York RaoNew York MillerNew York SmithNew York TailorCalifornia ZettingerCalifornia CarburosCalifornia DillonTexas RamirezTexas MartinTexas kingin giró consulta, el resultado podría ser: Nombre de la ciudad ( s ) ---- --------------------------- Nueva York Rao , Miller , Smith, TailorCalifornia Zettinger , Carburos , DillonTexas Ramírez, Martín, rey Instrucciones
página 1
Crear una tabla de prueba y colocar toda la información en una tabla que contiene el formato original de la siguiente manera en el " SQL > " del sistema:
CREATE TABLE estados (
StateName VARCHAR2 ( 100 ) ,
apellido VARCHAR2 ( 20 )
)
/
2
insertar los datos en la nueva tabla de "estados" , por lo que se puede extraer en forma de pivote :
INSERT INTO estados VALUES ( 'New York ', ' Rao ');
INSERT INTO estados VALUES ( 'New York ', ' Miller ');
INSERT INTO estados VALUES ( ' New York ',' Smith ');
INSERT INTO estados VALUES ( ' New York ',' a medida ');
< p > INSERT INTO estados VALUES ( 'California' , ' Zettinger ');
INSERT INTO estados VALUES ( 'California' , ' Carburos ');
INSERT INTO estados VALUES ( 'California' , ' Dillon ');
INSERT INTO estados VALUES ( ' Tejas ', ' Ramírez ');
INSERT INTO estados VALUES ( ' Tejas ' , 'Martin ');
< p > INSERT INTO estados VALUES ( ' Tejas ', ' king' ) ;
3
Seleccionar todos los datos de la nueva mesa para ver cómo se ve en la actualidad :
Seleccione * de los estados ;
deben mostrar un resultado similar al siguiente :
Ciudad Nombre
----------------- ------
Nueva York Rao
Nueva York Miller
Nueva York Smith &
New York Tailor
California Zettinger
California Carburos
California Dillon
Tejas Ramírez
Tejas Martin
Tejas rey
4
Gire la consulta mediante la siguiente técnica : .
SELECCIONAR a.statename ,
- Compruebe el número de fila de cada nombre y utilice el nombre resultante
MAX ( DECODE (ar , 1 , a.surname ) )