Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola, tengo 2 tablas que proceden de 2 excel distintos, tienen algunos datos comunes y lo que quiero es unirlas en una sola tabla y eliminar las anteriores.
Lo he intentado con Left Join y Drop Table pero no lo consigo solucionar.
Aquí dejo mi ejemplo:
CosteHorario:
LOAD
FASE_PROYECTO,
F.V,
DEPARTAMENTO,
EQUIPO,
[H. TEORICAS],
Precio,
[COSTE TEORICO],
rellenado,
VENTA,
%proyecto,
[años contrato],
[fecha inicio contrato],
FROM
[\\....\COSTES.xlsx]
(ooxml, embedded labels, header is 1 lines, table is COSTE);
CosteHorarioOtro:
LOAD
FASE_PROYECTO,
[CODIGO PROYECTO],
DEPARTAMENTO,
EQUIPO,
[H. TEORICAS]
FROM
[......presupuestos.xlsx]
(ooxml, embedded labels, header is 3 lines, table is [PRESUPUESTOS]);
***** OJO ******
( Los valores repetidos en las 2 tablas quiero que los de la tabla CosteHorarioOtro sustituya a los de CosteHorario )
Espero que alguien me ayude.
Un saludo y gracias.
Concatenate (CosteHorario) load * from presupuestos.xlsx
Hola Juan,
Yo lo haría con un Outer Join.
CosteHorario:
LOAD
FASE_PROYECTO,
DEPARTAMENTO,
EQUIPO,
[H.TEORICAS],
[CODIGO PROYECTO]
FROM [....presupuestos.xlsx] (ooxml, embedded labels, header is 3 lines, table is [PRESUPUESTOS]);
Outer Join(CosteHorario) // así añadirá aquellos registros que no existan en la 1ª tabla)
LOAD
FASE_PROYECTO,
DEPARTAMENTO,
EQUIPO,
[H.TEORICAS],
[CODIGO PROYECTO], // nuevo campo
F.V,
Precio,
[COSTE TEORICO] ,
rellenado,
VENTA,
%proyecto,
años contrato],
[fecha inicio contrato]
FROM [\\...\COSTES.xlsx] (ooxml, embedded labels, header is 1 lines, table is COSTE);
La segunda tabla debería tener los campos de la primera también, ya que sino no funcionaría. Por eso he puesto las tablas en éste orden. Tendrás que añadir el campo que falta en la 2ª tabla en el excel (no importa que no tenga datos).
Un saludo,
Hola Juan,
prueba hacer un Join con las dos tablas
saludos
Se repiten los campos FASE_PROYECTO, DEPARTAMENTO, EQUIPO y [H. TEORICAS]. Supongo que para considerar que dos registros son iguales deberían ser iguales los tres primeros campos y te refieres a que las H. Teóricas se sustituirían con las de la segunda tabla si ya existe ese campo en la primera tabla. En este caso, una forma de hacerlo sería la siguiente:
CosteHorario_TMP:
LOAD ...
FASE_PROYECTO,
F.V,
DEPARTAMENTO,
EQUIPO,
[H. TEORICAS] AS H1,
Precio,
[COSTE TEORICO],
rellenado,
VENTA,
%proyecto,
[años contrato],
[fecha inicio contrato]
FROM COSTES.xlsx;
Outer Join
LOAD
FASE_PROYECTO,
[CODIGO PROYECTO],
DEPARTAMENTO,
EQUIPO,
[H. TEORICAS] AS H2
FROM presupuestos.xlsx;
CosteHorario:
LOAD *
Alt(H2, H1, 0) AS [H. TEORICAS]
Resident CosteHorario_TMP;
DROP Table CosteHorario_TMP;