Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenos dias una vez más
No entiendo para que se utilizan las tablas temporales y los comando RESIDENT y DROP. Alguien me puede orientar un poco
Hola Galvan,
Te voy a poner un ejemplo para que veas en que consisten los comandos Resident y Drop:
Imagina que tienes una tabla cargada por ejemplo desde un qvd:
DistriFuncionalPersonal:
LOAD
AÑOMESCIERRE,
AÑOCIERRE, //
MESCIERRE, // unión
APCODI, //
ClvDiFu,
NombreMes,
APDESC,
APDECC
FROM $(dtwarehouse)DistriFuncional.qvd (qvd);
Y que necesitas añadirle algún campo más de otra tabla. Cargarías esa tabla y después harías un Join con la tabla anterior, con Resident lo que hace es tomar los datos de la tabla previamente cargada.
Una vez unidos los valores que nos interesan, con Drop, lo que hace es borrar de la memoria esa tabla “Fijos” que en principio no nos interesa para nada más.
// Cargamos la tabla Fijos
Fijos:
LOAD
PTAGRU,
HDANIO,
HDMES,
HDNBI;
SQL SELECT
PTAGRU,
HDANIO,
HDMES,
Count(DISTINCT HDNBI) as HDNBI
FROM $(LIB1).CGHSTDIWQ Where HDTIPO='1'
Group By
PTAGRU,
HDANIO,
HDMES;
Left Join(DistriFuncionalPersonal)
LOAD
PTAGRU as APCODI, // unión
HDANIO & Right('00' & HDMES, 2) as AÑOMESCIERRE,
HDANIO as AÑOCIERRE, //
HDMES as MESCIERRE, //
HDNBI as Fijos
Resident Fijos;
Drop table Fijos;
Espero que te sirva de ayuda.
Un saludo,
Sonia
Hola Galvan,
Te voy a poner un ejemplo para que veas en que consisten los comandos Resident y Drop:
Imagina que tienes una tabla cargada por ejemplo desde un qvd:
DistriFuncionalPersonal:
LOAD
AÑOMESCIERRE,
AÑOCIERRE, //
MESCIERRE, // unión
APCODI, //
ClvDiFu,
NombreMes,
APDESC,
APDECC
FROM $(dtwarehouse)DistriFuncional.qvd (qvd);
Y que necesitas añadirle algún campo más de otra tabla. Cargarías esa tabla y después harías un Join con la tabla anterior, con Resident lo que hace es tomar los datos de la tabla previamente cargada.
Una vez unidos los valores que nos interesan, con Drop, lo que hace es borrar de la memoria esa tabla “Fijos” que en principio no nos interesa para nada más.
// Cargamos la tabla Fijos
Fijos:
LOAD
PTAGRU,
HDANIO,
HDMES,
HDNBI;
SQL SELECT
PTAGRU,
HDANIO,
HDMES,
Count(DISTINCT HDNBI) as HDNBI
FROM $(LIB1).CGHSTDIWQ Where HDTIPO='1'
Group By
PTAGRU,
HDANIO,
HDMES;
Left Join(DistriFuncionalPersonal)
LOAD
PTAGRU as APCODI, // unión
HDANIO & Right('00' & HDMES, 2) as AÑOMESCIERRE,
HDANIO as AÑOCIERRE, //
HDMES as MESCIERRE, //
HDNBI as Fijos
Resident Fijos;
Drop table Fijos;
Espero que te sirva de ayuda.
Un saludo,
Sonia
Muchas gracias Sonia por este ejemplo . Me ha ayudado bastante
Un placer poder ayudar.
Un saludo,