Blog

Velneo vs SQL Query: Select varias tablas

Siguiendo con la serie de artículos sobre sentencias Select en SQL, veamos esta vez como trabajar con tablas relacionadas.

Suponiendo la estructura típica de clientes y facturas, donde la tabla facturas es histórica de clientes, supongamos que queremos todas las facturas de los clientes tipo 2. Y pensando en que la salida puede ser una rejilla o un informe, queremos poder visualizar tanto el nombre del cliente, como la fecha y el total de la factura.

La consulta típica en SQL sería algo así:

Select C.Nombre, F.Fecha, F.Total, F.Cliente, C.ID
from Clientes C, Facturas F
where F.Cliente=C.Id
and C.Tipo=2

Para implementarlo en Velneo, utilizaremos la búsqueda definida en el artículo Velneo vs SQL: Select básico y un proceso que nos retorna las facturas de una lista de clientes. El proceso sería este:

Velneo vs SQL Query: Select varias tablas 1

Como vemos en la imagen, el proceso tiene como entrada una lista de clientes y como salida una lista de facturas. Y las instrucciones del proceso cargan el plural facturas, y añade la lista resultante (de facturas) a la salida del proceso.

De esta manera, si queremos sacar el resultado por ejemplo en una rejilla, para mostrar el nombre del cliente simplemente añadimos una columna con el contenido #CLIENTES.NOMBRE (comprobar). tal y como se muestra en la siguiente imagen:

Velneo vs SQL Query: Select varias tablas 2

La opción de separar la obtención de las facturas de una lista de clientes en un proceso es por el concepto de entrada-salida https://velneo.es/informatica-entrada-proceso-salida/. De esta manera colocar todo en una acción es realmente sencillo:

Velneo vs SQL Query: Select varias tablas 3

Vemos que realizar determinados tipos de consulta en Velneo es realmente sencillo en cuánto nos acostumbremos al concepto de entrada-salida de los objetos.

4 thoughts on “Velneo vs SQL Query: Select varias tablas

  1. El concepto de entrada/salida, no es nuevo de Velneo, es un concepto que simplemente existe, y SQL tambien lo tiene:
    salida: Select C.Nombre, F.Fecha, F.Total, F.Cliente, C.ID
    entrada: from Clientes C, Facturas F where F.Cliente=C.Id and C.Tipo=2
    solo que en SQL primero se indica la SALIDA y luego la ENTRADA en una misma linea
    un saludo
    Jose Luis
     

Dejar un comentario