Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Cita:
Empezado por guillotmarc Ver Mensaje
Hola.

Si en tu primero consulta, sencilla, ya obtienes el resultado el resultado que estás buscando, y en un tiempo óptimo, ¿ porqué te quieres complicar la vida sacándolo mediante CTE's ?.

NOTA: Para agilizar un poco más esa primera consulta, puedes añadir un índice por población (de esa forma facilitas la agrupación por ese campo).

Saludos.
Hola,
estoy comparando la manera de obtener los datos, con la primera consulta ( que la creo dinámicamente con una procedure ) o con CTE's.
La segunda opción me está dando un rendimiento muy pobre, de ahí mi consulta de si estoy haciendolo bien o no.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #2  
Antiguo 08-04-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Cita:
Empezado por fjcg02 Ver Mensaje
Hola,
estoy comparando la manera de obtener los datos, con la primera consulta ( que la creo dinámicamente con una procedure ) o con CTE's.
La segunda opción me está dando un rendimiento muy pobre, de ahí mi consulta de si estoy haciendolo bien o no.
¿ Porqué necesitas construir dinámicamente la primera consulta ?. ¿ El número de columnas no es siempre fijo ?.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 08-04-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Hola,
respondiendo por partes.
1.- Estoy comparando la forma en la que genero las consultas tipo pivot con la forma que expone Gallosuarez ( WITH ).
2.- Obviamente, el problema surge cuando el nº de columnas no es fijo. Este dato es importante. Si no fuera por este pequeño detalle, no tendríamos que resolver nada.
3.- Cuando no conozco algo, empiezo por pruebas sencillas. De no ser así, difícilmente podré sacar conclusiones válidas. Ya me pondrán los usuarios pruebas difíciles, que para eso están.
4.- La estructura de mi única tabla de la que obtengo datos es la que he comentado :
- idcliente
- nombre
- Poblacion
- Estadocivil
- ... no ocupan el resto de campos.

Enunciado del problema: Dígame ud. cuantas personas hay por estado civil en cada una de las poblaciones.
Código SQL [-]
Poblacion    CASADOS SOLTEROS VIUDOS NOSABENOCONTESTA
Bilbao             5            7            3          50
Barakaldo        10          20           6           0
Zamudio          0            30          50          9
...

Vale, es un caso fácil, pero supongamos que no sabemos cuantos estados civiles existen.
El resto de la historia ya la conoceis. Soy todo 'oidos' a ver si consigo aprender cómo funcionan los CTE's. Estoy esperando esos tutoriales ...

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta con Filas en Columnas afxe SQL 3 30-01-2011 14:52:18
Consulta de Filas y Columnas mjjj SQL 1 19-02-2010 22:24:36
Filas y Columnas pmcastilla Varios 2 07-12-2007 20:22:01
ocultar filas o columnas karla Servers 1 10-08-2006 20:03:18
Filas a columnas nightynvid MS SQL Server 0 31-05-2006 16:22:44


La franja horaria es GMT +2. Ahora son las 14:45:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi