Cita:
Iniciado por rafex y si campo2, campo3, campo4 tuvieran datos diferentes?
nit | nombre | campo2 | campo3 | campo4 | fecha
12 | pedro | aaaaa1 | bbbbb1 | cccccc1 | 01/12/2017
33 | marco | aaaaa2 | bbbbb2 | cccccc2 | 01/02/2016
12 | pedro | aaaaa3 | bbbbb3 | cccccc3 | 01/01/2018 (*)
33 | marco | aaaaa4 | bbbbb4 | cccccc4 | 01/12/2017 (*)
44 | jorge | aaaaa5 | bbbbb5 | cccccc5 | 01/12/2017 (*)
33 | marco | aaaaa6 | bbbbb6 | cccccc6 | 01/05/2017
si ese fuera el caso podrias hacer el query nada mas agrupando con nit, nombre y max(fecha) y ese resultado unirlo con el resultado de tu union para sacar todas las columnas ;)
Algo asi:
Código SQL:
Ver originalSELECT t1.* FROM
(
query UNION
) t1
INNER JOIN
(
SELECT nit,nombre,MAX(fecha) fecha FROM
(
query UNION
) GROUP BY nit,nombre
) t2 ON (t1.nit=t2.nit AND t1.nombre=t2.nombre AND t1.fecha0t2.fecha)