Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
ricardo_mt
Contributor
Contributor

Unir archivos QVD con campo en común

Es la primera vez que utilizo este medio para plantear una duda: Tengo dos archivos QVD donde manejo como campo en común el número de cliente. Mi problema es que en mi tabla principal (DETALLES) esta condicionada para que obtenga solo algunos registros que cumplan con la condición. Lo que quiero hacer es que en mi otra tabla DATOSCLIENTE, se tome unicamente un campo. 

Principal:

LOAD NumeroCliente,

          NumeroCliente AS ClienteReferenciado,

         SaldoTotalMuebles, ,

         SaldoTotalRopa, 

FROM  Detalles.qvd

WHERE NumeroCliente = 15901527;

Directorio:

LOAD NumeroCliente,

          Credito

FROM DatosCliente

Lo que quiero hacer es que el resultado sea:

NumeroCliente     SaldoTotalMuebles     SaldoTotalRopa     Credito

15901527                                   900                    50                    5000

Como puedo hacer eso? Tengo que validar tambien cuando cargo los datos de la tabla DIRECTORIO en el where la misma validación que en la carga PRINCIPAL?  ME habian comentado que se puede hacer con un JOIN, pero no tengo idea.

1 Solution

Accepted Solutions
Not applicable

Debes hacer que todas las cargas se concatenen en una sola tabla. Para ello debes asegurarte que todas las instrucciones LOAD tienen exáctamente los mismos nombres de campos o utilizar la palabra clave CONCATENATE antes del primer LOAD.

View solution in original post

3 Replies
Not applicable

Prueba lo siguiente:

Principal:

LOAD NumeroCliente,

          NumeroCliente AS ClienteReferenciado,

         SaldoTotalMuebles,

         SaldoTotalRopa,

FROM  Detalles.qvd

WHERE NumeroCliente = 15901527;

LEFT JOIN

LOAD NumeroCliente,

          Credito

FROM DatosCliente;

Juan Gerardo

ricardo_mt
Contributor
Contributor
Author

Muchas GRacias Juan, ahora s eme presenta otro problema. Tengo que cargar varios QVD que tienen la misma estructura, el problema es que al momento de cargarme todos los archuivos, se me genera una tabla sintetica y todos los archivos que subí en lugar de que me genere una sola tabla.

Lo que hago es esto:

FOR i = 1 TO 5

   IF MesCalculado > 12 THEN

      MesCalculado = 1

      AñoAnterior = AñoAnterior + 1

   ENDIF

//   Calcula el mes

   IF MesCalculado < 10 THEN

        NombreTablaTramites = '[\\10.44.167.13\QVD and Excel Crédito\CREDITO\MEXICO\SemestreCredito_' & '0' & MesCalculado &  AñoAnterior & '.qvd]    (qvd)'

         NombreTablaDialogos = '[\\10.44.167.13\QVD and Excel Crédito\CREDITO\MEXICO\Directorio_' & '0' & MesCalculado &  AñoAnterior & '.qvd] (qvd)'

   ELSE

   NombreTablaTramites = '[\\10.44.167.13\QVD and Excel Crédito\CREDITO\MEXICO\SemestreCredito_' & MesCalculado & AñoAnterior & '.qvd] (qvd)'

   NombreTablaDialogos = '[\\10.44.167.13\QVD and Excel Crédito\CREDITO\MEXICO\Directorio_' & MesCalculado & AñoAnterior & '.qvd] (qvd)'

  ENDIF

Crédito:

LOAD

NumeroCliente,

NumeroCliente AS ClienteReferenciado,

    SaldoTotalMuebles,

     MakeDate($(AñoAnterior), $(MesCalculado), 1) AS FechaCorte

 

FROM $(NombreTablaTramites)

WHERE NumeroCliente = 15901527;

LEFT JOIN

Directorio:

LOAD

NumeroCliente,

LineaDeCreditoRealConvertida

FROM $(NombreTablaDialogos);

MesCalculado = MesCalculado + 1

NEXT

Not applicable

Debes hacer que todas las cargas se concatenen en una sola tabla. Para ello debes asegurarte que todas las instrucciones LOAD tienen exáctamente los mismos nombres de campos o utilizar la palabra clave CONCATENATE antes del primer LOAD.