FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
SELECT muy complejo
Necesito hacer un SELECT pero la forma que se me ha ocurrido creo que es demasiado compleja y por lo tanto lenta; funciona bien pero quisiera, a ser posible, agilizar la ejecución del query. Ahora tengo esto, aunque es un poco monstruoso:
Código PHP:
Estaba pensando en hacer un SELECT...CASE, pero ninguna de las dos formas que he probado me funciona. Este query: Código PHP:
Cita:
Código PHP:
|
#2
|
||||
|
||||
Sería necesario la estructura de las tablas implicadas y lo que realmente quieres conseguir.
Lectura obligada
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 22-08-2018 a las 11:17:53. |
#3
|
||||
|
||||
Cita:
Básicamente lo que necesito es saber cuantas filas de esa vista cumplen cada una de las cuatro condiciones:
|
#4
|
||||
|
||||
Supongo que es un fallo de Firebird... el problema está en los select de pais dentro del WHEN.
Si lo sustituyes por "IN ('PD', 'ES', ...)" funcinoa correctamente. Para evitar esto selects, lo he unido a pais mediante LEFT JOIN A diferencia del UNION, solo te saldrá un error por cada cuenta. Con el UNION podría aparecer dentro de dos registros distintos. En el caso del CASE, por ejemplo nunca dirá que es una cuenta de Extranjero porque ya devuelve un registro como "Cuenta correcta". He agregado un ELSE, por si no entra en ninguna condición... Prueba con lo siguiente:
|
#5
|
||||
|
||||
Y que version del motor es? Y como es la(s) tabla de origen? con datos, pls.
Puedes poner en http://sqlfiddle.com/
__________________
El malabarista. Última edición por mamcx fecha: 22-08-2018 a las 17:27:06. |
#6
|
||||
|
||||
Cita:
Muchas gracias. Aparentemente funciona a la perfección y por supuesto tarda muchísimo menos. |
#7
|
||||
|
||||
Yo hice las pruebas con esto:
|
#8
|
||||
|
||||
Buen trabajo
|
#9
|
||||
|
||||
Por si le sirve a alquien:
Verificador de IBAN para Firebird
|
#11
|
||||
|
||||
#12
|
||||
|
||||
Cita:
https://duckduckgo.com/?q=data+generator&ia=web Tambien es bueno mencionar tamaños de filas y el query planer, para saber que es lo "lento".
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema matemático complejo | DarkDudae | Varios | 4 | 21-03-2013 15:16:21 |
Buscador PHP, un poco mas complejo | santiago14 | PHP | 4 | 25-08-2010 01:42:45 |
Manejo complejo de Strings | MaMu | OOP | 5 | 14-10-2008 05:37:29 |
Imprimir un informe complejo | Alexis7788 | Impresión | 1 | 02-11-2006 06:00:57 |
Como realizar un select complejo | Nelly | SQL | 7 | 14-12-2005 01:14:53 |
|