una tabla pivote multiple filas ejemplos ejemplo dinamico concatenar columns columna 10g sql oracle plsql pivot

sql - tabla - pivot oracle columns to rows



Consejos usando Pivot Table en Oracle (4)

Necesito un informe y debo usar la tabla dinámica para ello. El informe será agrupado por categorías. No es bueno utilizar el caso cuando la declaración porque hay muchas categorías. Puede pensar en la base de datos de Northwind como muestra y Todas las categorías se mostrarán como columnas. e Informe mostrará la preferencia de los clientes entre las Categorías. No conozco otra solución y vi ejemplos como Procedimientos almacenados en Internet para el Servidor Sql. ¿Conoce una Solución, excepto el uso de mayúsculas y minúsculas cuando?

Gracias


Es doloroso hacer swaps de filas / columnas en SQL. Cada fila que desea convertir en una columna, debe solicitarla explícitamente. Entonces, si tiene muchas categorías, su consulta será muy larga y cambiará cada vez que agregue / elimine / cambie una categoría (este es probablemente el método CASE que está mencionando). Puedes escribir un procedimiento almacenado para generar que generará esa consulta para ti (o construir el conjunto de resultados que desees), pero sinceramente, de esa manera se encuentra la locura (y probablemente un rendimiento abismal).

Tome los datos como filas, como SQL seguramente quiere darlos, y luego haga que su aplicación lo convierta en columnas. Eso será mucho más fácil que forzar a SQL a hacer cosas que no quiere hacer.



Una vez que obtiene Oracle 11G, hay una función PIVOT incorporada . Antes de eso, estás restringido a usar expresiones CASE (o DECODE). Tengo un artículo sobre cómo automatizar hacer eso en mi blog.


Utilizo las herramientas de informes para producir informes, ayuda a mantener vistas y consultas limpias y sin formatear. Por lo general, los usuarios solicitan Excel y Excel es una herramienta de informes muy buena por sí misma. Excel tiene muchas formas de importar datos, pero sugiero XML como entrada porque puede abrirlo como una tabla regular de Excel.

  1. Utilice Excel para abrir un archivo XML con datos de muestra
  2. Seleccione Tabla y haga clic en "Insertar pivote"
  3. Agregue formato y guarde este archivo como plantilla

Excel recuerda la ruta al archivo XML de datos y solo tiene que reemplazar los datos para actualizar el informe. Hay muchas otras maneras, utilizo la aplicación JAVA en el servidor web para fusionar la plantilla de Excel y el resultado de SQL. Este código es gratuito y de código abierto, pero no ayudará a los desarrolladores que no son JAVA https://github.com/jbaliuka/x4j-analytic Hay muchas otras herramientas de informes para producir informes "profesionales".