Eccomi :
codice:
SELECT
MAX(R.rank_comparazione) AS rank_comparazione,
R.id_prodotti,
max(R.codice_ean_inserito),
max(R.codice_ean_sparato)
FROM(
SELECT doa_righe_sparate.id,
`doa_righe_sparate`.`id_prodotti`,
prodotti.codice_ean as codice_ean_sparato,
0 as id_righe_inserite,
0 as codice_ean_inserito,
0 as inserito_manualmente,
prodotti.costo as costo_prodotto,
RANK() over (
PARTITION BY `doa_righe_sparate`.`id_prodotti`
ORDER BY doa_righe_sparate.id ASC
) rank_comparazione
FROM `doa_righe_sparate`
JOIN prodotti on prodotti.id=doa_righe_sparate.id_prodotti
WHERE `doa_righe_sparate`.`id_doa` = 1
AND `doa_righe_sparate`.`deleted_at` IS NULL
UNION ALL
SELECT 0 as id,
`doa_righe_inserite`.`id_prodotti`,
0 as codice_ean_sparato,
`doa_righe_inserite`.`id` as id_righe_inserite,
prodotti.codice_ean as codice_ean_inserito,
`doa_righe_inserite`.inserito_manualmente,
prodotti.costo as costo_prodotto,
RANK() over (
PARTITION BY `doa_righe_inserite`.`id_prodotti`
ORDER BY doa_righe_inserite.id ASC
) rank_comparazione
FROM `doa_righe_inserite`
JOIN prodotti on prodotti.id=doa_righe_inserite.id_prodotti
WHERE `doa_righe_inserite`.`id_doa` = 1
AND `doa_righe_inserite`.`deleted_at` IS NULL
)as R
JOIN prodotti P on R.id_prodotti=P.id
GROUP BY R.id_prodotti,rank_comparazione
sembra andare