Ecco un modo:
select (select count(*) from table1) as t1_amount,
(select count(*) from table2) as t2_amount
Ecco un altro modo:
select t1.t1_amount, t2.t2_amount
from (select count(*) as t1_amount from table1) t1 cross join
(select count(*) as t2_amount from table2) t2
Il tuo metodo non funziona perché ,
nel from
la clausola fa un cross join
. Questo fa un prodotto cartesiano tra i due tavoli.