Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta dos campañas (https://www.clubdelphi.com/foros/showthread.php?t=96823)

GINMARMENOR 25-08-2024 18:41:23

consulta dos campañas
 
Buenas de nuevo, estoy trabajando con Delphi 2.010 y Firebird 2,5 estoy trabajando con un programa varias campañas y necesito ahora comparar resultados de distintos campos en varias campañas, así poniendo un ejemplo sencillo si dispongo de ventas de varios años en una ferreteria, sería el comparar las ventas que he hecho el año 2.023 con el año 2.024 en un mismo listado, pero tengo los datos por año dividido en directorio así el año 2.023 es Datos23 mientras que el año 2.024 Datos24.

La Tabla sería la siguiente en Directorio Datos23

Código:

 
                  FECHA      MES            CONCEPTO    CANTIDAD

               
                12/01/23      ENERO          TORNILLOS        50 €
                12/02/23      FEBRERO        TORNILLOS        75 €     
                30/06/23      JUNIO          TORNILLOS        60 €


La Tabla Datos24

Código:

                    FECHA      MES            CONCEPTO    CANTIDAD

                15/01/24      ENERO          TORNILLOS        100 €
                18/02/24      FEBRERO        TORNILLOS        125 €     
                25/09/24      JUNIO          TORNILLOS        750 €


El sacar el listado con SQL, de una campaña es sencillo y luego implantarlo en un Rave Reports que es el generador de informes que me venía con Delphi 2.010, y hacía lo siguente, pero sólo podría hacerlo para el Directorio Datos23



Código SQL [-]
    
                   With IbQueryVentas do
                   close,
                   Sql.Clear,
                   Sql.Text:='select * from VENTAS where CONCEPTO=' + Quotedstr('TORNILLOS') + 'ORDER BY MES';

Donde el listado saldría

Ventas de Tornillos

Código:

                                         
                                          2.023

                              Enero        50 €
                              Febrero      75 €
                              Junio        60 €

La idea es conseguir el siguiente:

Código:


                                          2.023        2.024

                              Enero      100 €          100 €
                              Febrero    75 €          125 €
                              Junio      60 €          750 €

Pero para sacar este listado tengo que utilizar dos directorios, y no sé cómo conseguirlo, alguna sugerencia?, Gracias.

Casimiro Notevi 25-08-2024 20:37:43

¿Qué quieres decir con "2 directorios"?

GINMARMENOR 26-08-2024 14:03:05

Sí están en dos directorios distintos, cada directorio es un año,

Directorio Datos23 año 2.023
Directorio Datos24 año 2.024

De hecho en los programas de Contabilidad, no sé qué lenguaje usan, pero cada año los guarda en un Directorio.

pgranados 26-08-2024 16:49:08

Si la información esta en la misma base de datos y en las mismas tablas solamente en el where agrega 2023 y 2024.

Si la información esta en la misma base de datos pero en diferentes tablas puedes hacer un JOIN para consultar la información.

Si la información esta en diferentes bases de datos puedes usar una "tabla temporal".

Saludos :D

aicutillas 03-09-2024 21:10:39

Hola,
Si el panorama son directorios,
Una idea sería un pool de conexiones y según el rango de fechas en la consulta, lanzar la SQL para cada tabla de cada directorio anual. Podrías meter los resultados de las Query en un Tdataset y después hacer un group by año.


La franja horaria es GMT +2. Ahora son las 13:06:30.

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