Resultados de la búsqueda: Common Table Expression
Usando CTE (Common Table Expression)
17 noviembre 2013
Ejemplos de SELECTs para intermedios Common Table Expression, CTE, tabla virtual, vista virtual Deja un comentario
Una de las excelentes construcciones que tiene Firebird se llama CTE (Common Table Expression) porque nos facilita grandemente escribir consultas complejas. ¿Qué es CTE? Es una tabla virtual que se escribe antes del SELECT principal y que es eliminada cuando finaliza el SELECT principal. El SELECT principal puede referenciar a cualquier CTE como si fuera […]
Ejemplo de recursión (7). Números faltantes en una serie
13 diciembre 2017
SELECTs falta, faltante, fila, número, numerar, rango, recursión, recursividad 2 comentarios
Si en una tabla o en una vista o en un procedimiento almacenado seleccionable, tenemos una columna numérica y queremos saber si están todos los números o si falta alguno, podemos usar la técnica mostrada en este artículo para averiguarlo. Para ello, mediante recursión crearemos una tabla virtual, que en nuestro ejemplo llamaremos RANGO_NUMEROS. Esa […]
Ejemplo de recursión (6). Repitiendo las filas
5 septiembre 2015
SELECTs etiquetas, filas, nombres 3 comentarios
Un usuario del foro hizo esta pregunta: «Tengo una tabla llamada ETIQUETAS con dos columnas: NOMBRES Y NUMERO_REPETICIONES y deseo que cada nombre se repita esa cantidad de veces». La idea es imprimir etiquetas con esos nombres. Solución: Primero, creamos la tabla ETIQUETAS Captura 1. Si haces clic en la imagen la verás más grande […]
Ejemplo de recursión (5). Saldos acumulados
31 agosto 2015
En el Ejemplo 4. de recursión ya habíamos visto como actualizar una fila y todas sus filas descendientes, ahora veremos otro ejemplo muy útil, el cual nos permitirá obtener los saldos acumulados de forma sencilla y rápida. Captura 1. La tabla CUENTAS contiene los datos que nos interesan CUE_IDENTI es el identificador de cada fila […]
Ejemplo de recursión (3). Fechas consecutivas
29 agosto 2015
SELECTs consecutivas, CTE, fechas, recursividad, tabla, virtual Deja un comentario
Ya hemos visto varios ejemplos de tablas virtuales recursivas, pero como es un tema que le interesa a mucha gente entonces ahora veremos otro ejemplo de lo que podemos hacer. Problema: Queremos ver todas las fechas desde hoy hasta los siguientes 10 días. Solución: Listado 1. Captura 1. Si haces clic en la imagen la […]
Ejemplo de recursión (2). Numerar filas
28 agosto 2015
Aquí tenemos otro ejemplo de una tabla virtual recursiva. Este ejemplo es muy, muy sencillo, pero ilustra una técnica que podemos usar para numerar filas. Listado 1. Captura 2. Si haces clic en la imagen la verás más grande Como siempre, la primera fila no es recursiva, las filas recursivas son las que se encuentran […]
Ejemplo de recursión (1). Filas salteadas
27 agosto 2015
SELECTs filas, SALTEAR Deja un comentario
En otros artículos ya habíamos visto como usar recursividad en los stored procedures y en los SELECTs del Firebird, así que ahora es tiempo de mostrar algunos ejemplos para que se entienda mejor lo que podemos hacer. Problema: Queremos mostrar las filas de nuestra tabla CUENTAS de 3 en 3, o sea las filas 1, […]
Entendiendo la recursividad en los SELECT
25 agosto 2015
INTERMEDIOS Deja un comentario
En un artículo anterior ya vimos un ejemplo de un SELECT recursivo, el cual fue muy útil, así que ahora explicaremos mejor como crear SELECTs recursivos. Se construye usando CTE (Common Table Expression) Un SELECT recursivo es una UNION entre miembros recursivos y no recursivos Debe tener al menos un miembro no recursivo al cual […]
Usando recursividad con CTE
22 agosto 2015
SELECTs common, CTE, expression, stored procedure, table 9 comentarios
Una técnica muy poderosa aunque muy poco usada es la de la recursividad. ¿Qué significa recursividad? Que un código se ejecute y al finalizar se llame a sí mismo para volver a ejecutarse. Sin embargo, al volver a ejecutarse lo hace con algún parámetro cambiado y continúa llamándose a sí mismo hasta que se cumpla una […]
Comentarios recientes