SELECT DISTINCT o.id_taxon, n.nombre, muc.nut2, tc.nombre AS ccaa, muc.cod1x1, o.id_persona_ejecutora, tpe.nombre_original AS persona_ejecutora, min(o.fecha_hora_ocurrencia) OVER (PARTITION BY o.id_taxon, muc.nut2, o.id_persona_ejecutora, muc.cod1x1, ep.id_programa) AS fecha, ep.id_programa, p.nombre AS programa FROM ((((((((seguimiento_especie.ocurrencia o JOIN seguimiento_especie.ocurrencia_ubicacion ou ON (((ou.cod_ocurrencia)::text = (o.cod_ocurrencia)::text))) JOIN comun.malla1x1_utm_ccaa muc ON (((muc.cod1x1)::text = (ou.cuadr)::text))) JOIN comun.t_ccaa tc ON ((tc.id_ccaa = muc.nut2))) LEFT JOIN especie.taxonnombre tn ON (((tn.idtaxon = o.id_taxon) AND (tn.idvigente = 1) AND (tn.idtiponombre = 10)))) LEFT JOIN especie.nombre n ON ((n.idnombre = tn.idnombre))) LEFT JOIN seguimiento_especie.t_persona_ejecutora tpe ON ((tpe.id_persona_ejecutora = o.id_persona_ejecutora))) LEFT JOIN seguimiento_especie.evento_programa ep ON ((ep.id_evento_programa = o.id_evento_programa))) LEFT JOIN seguimiento_especie.programa p ON ((p.id_programa = ep.id_programa)));