For this, you can use either a subquery or a window function. I think the subquery might be clearer:
select v1 + maxv1*(v2 - 1) as V, t1.v1, t2.v2
from table1 t1 cross join
table2 t2 cross join
(select max(v1) as maxv1 from t1) maxt
By the way, you can assign a sequential number quite easily in SQL:
select row_number() over (order by v2, v1) as V, v1, v2
from table1 t1 cross join
table2 t2