cuenta doble sql en la declaración de unión

Tengo estas dos declaraciones SQL y lo que necesito hacer es unirlas en una sola declaración, pero cuando lo hago, el resultado es inapropiado. : /

select 
    nieruchomosci.nieruchomoscnr, count(wynajecia.nieruchomoscNr) as wynajecia 
from 
    nieruchomosci, wynajecia
where 
    nieruchomosci.nieruchomoscnr = wynajecia.nieruchomoscNr
GROUP BY 
    nieruchomosci.nieruchomoscnr;

select 
    nieruchomosci.nieruchomoscnr, count(wizyty.nieruchomoscnr) as wizyty 
from 
    nieruchomosci, wizyty
where 
    wizyty.nieruchomoscnr = nieruchomosci.nieruchomoscnr
GROUP BY 
    nieruchomosci.nieruchomoscnr;

Así es como me he unido a ellos:

select 
    nieruchomosci.nieruchomoscnr, 
    count(wynajecia.nieruchomoscNr) as wynajecia, 
    count(wizyty.nieruchomoscnr) as wizyty 
from 
    nieruchomosci, wynajecia, wizyty
where 
    nieruchomosci.nieruchomoscnr = wynajecia.nieruchomoscNr
    and wizyty.nieruchomoscnr = nieruchomosci.nieruchomoscNr
GROUP BY 
    nieruchomosci.nieruchomoscnr;

Con esto, los números en 'wynajecia' y 'wizyty' son los mismos, lo cual está mal. : /

EDITAR:

Con este código obtengo:

A14 8   8
B16 6   6
B17 4   4
B18 4   4
B21 4   4
G01 6   6
L94 10  10

La salida correcta debería ser esta:

A14 2   4
B16 3   2
B17 2   2
B18 2   2
B21 2   2
G01 3   2
L94 2   5

Logré obtener uno correcto por este código:

select nieruchomosci.nieruchomoscnr,
(select count(wynajecia.nieruchomoscNr) from wynajecia where wynajecia.nieruchomoscNr = nieruchomosci.nieruchomoscnr) as wynajecia,
(select count(wizyty.nieruchomoscNr) from wizyty where wizyty.nieruchomoscNr = nieruchomosci.nieruchomoscnr) as wizyty
from nieruchomosci

Pero no sé esto, que esta es la forma correcta de manejar el problema.

Respuestas a la pregunta(2)

Su respuesta a la pregunta