Show the number of all tables, views and base tables
information_schema.tables includes tables and views, so you only need:

select count(*)
from information_schema.tables
where table_type in ('VIEW', 'BASE TABLE')


If you want the numbers separately for each type, use a group by

select table_type, count(*)
from information_schema.tables
where table_type in ('VIEW', 'BASE TABLE')
group by table_type




The reason your statement isn't working is because you are creating a cross join (cartesian product) between the two system view.