scusa, ho visto ieri il nuovo post,
non so se hai risolto e ti rispondo,
mi sono perso con il cambio dei nomi delle colonne,
per cui ho mantenuto l'esempio originale,
aggiungendo le colonne "problema", "chiuso" e "tabella" ( quest'ultima per indicare la tabella da cui é prelevato l'elemento )
mi sembra che la query continui a funzionare bene,
posto la query modificata con interlinee per meglio comprenderla
codice:
SELECT
idticket
, dataaggiornamento
, ( SELECT gruppodiassegnazione FROM @aggiornamentiticket t2 WHERE t1.idticket = t2.idticket AND t1.dataaggiornamento = t2.dataaggiornamento ) gruppodiassegnazione
, ( SELECT problema FROM @aggiornamentiticket t2 WHERE t1.idticket = t2.idticket AND t1.dataaggiornamento = t2.dataaggiornamento ) problema
, 'A' as tabella
FROM (
SELECT
idticket
, MAX(dataaggiornamento) AS dataaggiornamento
FROM @aggiornamentiticket
GROUP BY idticket
) t1
UNION ALL
SELECT
idticket
, dataapertura AS dataaggiornamento
, gruppodiassegnazione
, problema
, 'T' as tabella
FROM @ticket t1
WHERE chiuso='no' and idticket NOT IN ( SELECT idticket FROM @aggiornamentiticket t2 WHERE t1.idticket = t2.idticket )
ORDER BY idticket;
ricorda che le due select in union devono avere lo stesso numero di colonne e ciascuna con lo stesso nome
Cattura.GIF
ID = 5 é duplicato da ticket 1 per provare "chiuso=no"