Estoy totalmente de acuerdo con tammander, mas bien el problema aqui es la estructura de tu base de datos, creo que deberias comenzar por normalizar...
No entiendo mucho pero por lo poco que veo:
"Una provincia, tiene muchas localidades"
"Una localidad corresponde a una provincia"
:.
Relacion = uno a muchos
tbl_provincia
provincia_id
provincia_nombre
tbl_localidad
localidad_id
provincia_id
localidad_nombre
Hasta ahi estamos bien...ahora
"Una localidad tiene muchas residencias"
"Una residencia, esta en una sola localidad"
:.
Relacion: Uno a muchos nuevamente
tbl_residencia
residencia_id
localidad_id
residencia_nombre
residencia_es_privada->Si no es privada es publica verdad(0/1)? esta es una propiedad de la residencia, asi que un campo dentro de la misma entidad es correcto.
Código:
SELECT a.residencia_id, a.residencia_nombre, b.localidad_nombre FROM tbl_residencia a INNER JOIN tbl_localidad b ON a.localidad_id = b.localidad_id WHERE a.localidad_id = 20
Algo asi.
Salu2,