¿Cómo consultar matrices anidadas en una columna json de postgres?

Tengo algunos json similares a los json a continuación almacenados en una columna postgres json. Estoy intentando consultarlo para identificar algunos datos ingresados incorrectamente. Básicamente estoy buscando direcciones donde la descripción de la casa es la misma que el número de la casa. No puedo entender cómo hacerlo.

{
  "timestamp": "2014-10-23T16:15:28+01:00",
  "schools": [
    {
    "school_id": "1",
    "addresses": [
      {
        "town": "Birmingham",
        "house_description": "1",
        "street_name": "Parklands",
        "addr_id": "4",
        "postcode": "B5 8KL",
        "house_no": "1",
        "address_type": "UK"
      },
      {
        "town": "Plymouth",
        "house_description": "Flat a",
        "street_name": "Fore Street",
        "addr_id": "2",
        "postcode": "PL9 8AY",
        "house_no": "15",
        "address_type": "UK"
      }
    ]
  },
  {
    "school_id": "2",
    "addresses": [
      {
        "town": "Coventry",
        "street_name": "Shipley Way",
        "addr_id": "19",
        "postcode": "CV8 3DL",
        "house_no": "662",
        "address_type": "UK"
      }
    ]
  }
  ]
}

He escrito este sql que encontrará dónde coinciden los datos:

select *
FROM title_register_data
where address_data->'schools'->0->'addresses'->0->>'house_description'= 
address_data->'schools'->0->'addresses'->0->>'house_no'

Obviamente, esto solo funciona en la primera dirección de la primera escuela. ¿Hay alguna forma de consultar todas las direcciones de cada escuela?

Respuestas a la pregunta(1)

Su respuesta a la pregunta