Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/01/2018, 08:28
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: registro mas actual de un query con UNION

Cita:
Iniciado por rafex Ver Mensaje
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 original
  1. SELECT t1.* FROM
  2. (
  3. query UNION
  4. ) t1
  5. INNER JOIN
  6. (
  7. SELECT nit,nombre,MAX(fecha) fecha FROM
  8. (
  9. query UNION
  10. ) GROUP BY nit,nombre
  11. ) t2 ON (t1.nit=t2.nit AND t1.nombre=t2.nombre AND t1.fecha0t2.fecha)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me