8 Replies Latest reply: Jul 28, 2011 6:49 AM by Gabriel Vázquez RSS

    Error en sentencia join

      Hola.

       

      Necesito unir 2 campos de una TablaA a una TablaB, para lo que utilizo un left join o hago lo siguiente:

       

      TablaC:

      left join (TablaB)

      load

           Campo1,

           Campo2,

           CampoClave

      resident TablaA

       

      En ambos casos da un error, es el siguiente: OUT OF VIRTUAL AND/OR LOGICAL MEMORY, allocating 2MB. ¿Alguien podría decirme qué siginifica este error, o si estoy haciendo algo mal?

       

      Gracias.

        • Re: Error en sentencia join

          Use the below code and remove the TableC:

          and it should work

           

          left join (TablaB)

          load

               Campo1,

               Campo2,

               CampoClave

          resident TablaA

           

          Hope it helps

            • Error en sentencia join

              Gracias por la respuesta, pero devuelve el error:

               

              OUT OF VIRTUAL AND/OR LOGICAL MEMORY, ALLOCATING 2MB

               

              Estoy desesperado.

               

              Un saludo

                • Error en sentencia join

                  If possible upload the application and i can help you out.

                  • Error en sentencia join
                    Erich Shiino

                    Gabriel,

                    Yo creo que no necesita de la tablaC y necesita remover la tabla A despues del left join:

                     

                     

                    left join (TablaB)

                     

                    load

                     

                         Campo1,

                         Campo2,

                         CampoClave

                    resident TablaA;

                    drop TablaA;

                      • Re: Error en sentencia join

                        Gracias por su respuestas Erich y Trytsk.

                         

                        Se me olvidó comentar que tengo 2 campos clave, hago lo siguiente:

                         

                        left join(tablaB)

                        load

                         

                        campo1,

                        campo2,

                        campoclave1,

                        campoclave2

                         

                        resident TablaA;

                        drop TablaA;

                         

                        Si quito el campo clave2 devuelve el error antes mencionado, si utulizo el campoclave2 devuelve resultados falsos

                         

                         

                        ALBARAN_CABECERA:
                        LOAD
                                  B1COEJ&'_'& B1COSR&'_'& B1CONM AS NALBCAB,
                                  B1FVNM AS NFVALB,
                                  MAKEDATE(B1GEAN,B1GEME,B1GEDI) AS FECHA,
                                  B1CLCG AS CODIGO_CLIENTE_ENTREGA,
                                  B1CFCF AS REFERENCIA_FISCAL,
                                  B1GEBT AS IMPORTE,
                                  B1FVEJ&'_'& B1FVSR&'_'& B1FVNM AS ALBARANCAB_NFACT,
                                  B1GDD1&'_'& B1GDD2&'_'& B1GDD3 AS FECA_FACTURA,
                                  B1GDD1 AS A1,
                                  B1GDD2 AS A2,
                                  B1GDD3 AS A3;
                                  SQL SELECT *
                        FROM S65FCEEB.APLREMGEFI.B1;
                        
                        
                        
                        
                        
                        
                        
                        
                        ALBARAN_DETALLE:
                        LOAD
                                  B2COEJ&'_'& B2COSR&'_'& B2CONM AS NALBDET,
                                  MAKEDATE(B2GEAN,B2GEME,B2GEDI) AS FECHA,
                                  B2GELN AS LINEA1,
                                  B2GELI AS LINEA2,
                                  B2GELC AS LINEA3,
                                  B2GETD AS CARGO_ABONO,
                                  B2CFCF AS REFERENCIA_FISCAL,
                                  B2ARCG AS CODIGO_ARTICULO,
                                  B2ASCG AS CODIGO_SUBARTICULO,
                                  B2FMCG AS CODIGO_FAMILIA,
                                  B2FMSB AS CODIGO_SUBFAMILIA,
                                  B2GECN AS CANTIDAD,
                                  B2GEPR AS PRECIO,
                                  B2GEIM AS IMPORTE_ALBARAN,
                                  B2FVEJ&'_'& B2FVSR&'_'& B2FVNM AS ALBARANDET_NFACT;
                        SQL SELECT *
                        FROM S65FCEEB.APLREMGEFI.B2;
                        
                        
                        LEFT JOIN(ALBARAN_DETALLE)
                        LOAD
                                  A1,
                                  A2,
                                  REFERENCIA_FISCAL,
                                  FECHA
                        RESIDENT ALBARAN_CABECERA;
                        
                        
                          • Re: Error en sentencia join

                            Please try this out and it should work(Not tested).

                             

                            ALBARAN_CABECERA:
                            LOAD
                                      B1COEJ&'_'& B1COSR&'_'& B1CONM AS NALBCAB,
                                      B1FVNM AS NFVALB,
                                      MAKEDATE(B1GEAN,B1GEME,B1GEDI) AS FECHA,
                                      B1CLCG AS CODIGO_CLIENTE_ENTREGA,
                                      B1CFCF AS REFERENCIA_FISCAL,
                                      B1GEBT AS IMPORTE,
                                      B1FVEJ&'_'& B1FVSR&'_'& B1FVNM AS ALBARANCAB_NFACT,
                                      B1GDD1&'_'& B1GDD2&'_'& B1GDD3 AS FECA_FACTURA,
                                      B1GDD1 AS A1,
                                      B1GDD2 AS A2,
                                      B1GDD3 AS A3;
                                      SQL SELECT *
                            FROM S65FCEEB.APLREMGEFI.B1;

                             

                             

                             


                            ALBARAN_DETALLE:
                            LOAD
                                      B2COEJ&'_'& B2COSR&'_'& B2CONM AS NALBDET,
                                      MAKEDATE(B2GEAN,B2GEME,B2GEDI) AS FECHA1,
                                      B2GELN AS LINEA1,
                                      B2GELI AS LINEA2,
                                      B2GELC AS LINEA3,
                                      B2GETD AS CARGO_ABONO,
                                      B2CFCF AS REFERENCIA_FISCAL1,
                                      B2ARCG AS CODIGO_ARTICULO,
                                      B2ASCG AS CODIGO_SUBARTICULO,
                                      B2FMCG AS CODIGO_FAMILIA,
                                      B2FMSB AS CODIGO_SUBFAMILIA,
                                      B2GECN AS CANTIDAD,
                                      B2GEPR AS PRECIO,
                                      B2GEIM AS IMPORTE_ALBARAN,
                                      B2FVEJ&'_'& B2FVSR&'_'& B2FVNM AS ALBARANDET_NFACT;
                            SQL SELECT *
                            FROM S65FCEEB.APLREMGEFI.B2;


                            LEFT JOIN(ALBARAN_DETALLE)
                            LOAD
                                      A1 As New_A1,
                                      A2 AS New_A2,
                                      REFERENCIA_FISCAL as REFERENCIA_FISCAL1,
                                      FECHA  As FECHA1
                            RESIDENT ALBARAN_CABECERA;

                             

                            Thanks

                            Talha