PHP: declaración preparada, se necesita ayuda con la declaración IF

Tengo el siguiente código:

$sql = "SELECT name, address, city FROM tableA, tableB WHERE tableA.id = tableB.id";

if (isset($price) ) {
    $sql = $sql . ' AND price = :price ';
}
if (isset($sqft) ) {
    $sql = $sql . ' AND sqft >= :sqft ';
}
if (isset($bedrooms) ) {
    $sql = $sql . ' AND bedrooms >= :bedrooms ';
}


$stmt = $dbh->prepare($sql);


if (isset($price) ) {
    $stmt->bindParam(':price', $price);
}
if (isset($sqft) ) {
    $stmt->bindParam(':price', $price);
}
if (isset($bedrooms) ) {
    $stmt->bindParam(':bedrooms', $bedrooms);
}


$stmt->execute();
$result_set = $stmt->fetchAll(PDO::FETCH_ASSOC);

Lo que noto son las múltiples declaraciones IF redundantes que tengo.

Pregunta: ¿hay alguna forma de limpiar mi código para que no tenga estas múltiples declaraciones IF para declaraciones preparadas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta