a nessuno gli è mai capitata una situazione analoga?
così comunque viene meglio
codice:update tb1, tb2 set part = -1 where tb1.email like any ( select concat( '%@', dx ) from ( select distinct reverse( left( reverse( email ),locate( '@',reverse( email ) ) - 1 ) ) as dx from tb2 order by dx ) as c );