![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Vale... ¡Gracias a los dos! Pero lo de la presentación es el menor de los problemas.
![]() |
|
#2
|
||||
|
||||
|
He estado dando vueltas por todos lados (es una forma de hablar
) y he encontrado varias respuestas que apuntan en la dirección que quiero ir; casi todas ellas hablan de las CTE. Encontré una sugerencia de fjcg02 que la verdad sea dicha me ha gustado (con un procedimiento) pero tengo que estudiarla a fondo. Antes de implementar nada nuevo he estado probando otra sugerencias que vienen en ese hilo, pero la que más parece aproximarse a mi problema o no estoy desarrollándola bien o no acabo de entenderla.La tabla tiene, entre otros muchos, estas dos filas: ![]() Estoy usando este código: Todos los campos de la tabla son del tipo INTEGER. Al ejecutar esa consulta, entre otras muchas filas, me devuelve esto: ![]() Me devuelve dos filas iguales, y lo hace siempre que para un valor único de la combinación Grupo1-Grupo2 hay más de un posible valor en Grupo3 y es evidente que lo que yo busco es que me devuelva una única fila. ¿alguna sugerencia? Última edición por Casimiro Noteví fecha: 19-10-2018 a las 20:01:57. Razón: Etiquetas sql |
|
#3
|
||||
|
||||
|
Aqui le pegaste a una de las diferentes limitaciones de SQL. Es pesimo para generar columnas dinamicamente.
Hay una posibilidad y es utilizar LIST: http://www.developeando.com/2009/02/...-function.html
__________________
El malabarista. |
|
#4
|
||||
|
||||
|
Cita:
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Yo tampoco la conocía. Probaré a ver si me vale, pero no lo tengo muy claro porque por lo que veo genera una lista y me hacen falta columnas separadas para poder generar un informe (que no sé si lo había dicho). No obstante es una función muy interesante. Gracias.
|
|
#6
|
||||
|
||||
|
El problema que tienes es que segun veo necesitas crear un numero indeterminado de columnas. No hay como hacer eso hasta donde yo si sin recurrir a stored procedures y programacion manual, generando tablas temporales (luego de hacer lo de LIST y examinar su contenido, luego generar columnas).
Podrias dar mas contexto? Me huele a que hay otro camino pero necesito mas informacion. Como realmente es el informe? Estas son las tablas de entrada? Es posible de predeterminar cuanto es el maximo posible de columnas?
__________________
El malabarista. |
|
#7
|
||||
|
||||
|
Vamos a ver. Así lo estoy mostrando ahora en pantalla con un TListView:
![]() Ciñéndome a esta salida: El número de columnas efectivamente no es fijo; es lo primero que calculo cuando voy a mostrarlo en pantalla para lo que ejecuto este query: Con este SELECT creo y bautizo las columnas del TListView. Para rellenarlo uso dos querys. En el primero saco todas las combinaciones distintas Grupo2, Grupo1 y luego, cuando voy poniendo la información en el TListView para cada una de esas combinaciones busco los correspondientes valores de Dato1. Al ser en pantalla no hay ningún problema. Pero una de las opciones que doy a los usuarios es imprimir ese TListView y, evidentemente, no puedo volcar directamente su contenido en el informe impreso. Por eso estaba buscando como generar ese tipo de querys. Y hacerlo con un stored procedure no me importa, pero el ejemplo que he encontrado no acabo de entederlo. Última edición por Angel.Matilla fecha: 22-10-2018 a las 11:31:13. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consulta dinamica | CoCaInE | Varios | 4 | 31-07-2012 21:32:07 |
| problemas con consulta dinamica | oktubre | Conexión con bases de datos | 3 | 16-04-2011 23:52:18 |
| Consulta de SQL Dinamica | pmpisani | Tablas planas | 1 | 04-10-2007 17:05:57 |
| Grilla dinamica | walito | Gráficos | 1 | 09-06-2007 12:16:35 |
| Consulta dinámica en procedimiento almacenado | Ivanzinho | Firebird e Interbase | 2 | 24-10-2005 15:26:27 |
|