Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/09/2010, 05:11
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 8 meses
Puntos: 331
Respuesta: Doble consulta - entrelazar tablas.

A ver si te entiendo, tienes por un lado casos, por el otro juzgados (o similar). El campo de enlace es RADICADO que indica que un caso está radicado en un juzgado o en otro.
Ahora bien, si este es tu caso, las tablas irían más o menos así (adaptalo a tu caso)

TABLE CASOS
caso_id
caso_fecha
caso_autor
...
...
...
caso_idjuzgado (este campo enlaza con la otra tabla)

Tabla juzgados
juzgado_id (referencia a caso_idjuzgado)
juagado_direccion
juzgado_etc
....
...
....

Esta estructura te permite tener una relación N:1, es decir que varios casos están en el mismo juzgado.
Un caso puede estar SÓLO EN UN JUZGADO, mientras que un juzgado puede tener N casos.
Para evitar cualquier tipo de ruptura en la relación, añades una restricción donde se indica que
caso_juzgadoid correponde a juzgado_id. Así, un caso no puede tener un juzgado que no exista en la tabla de juzgados.
Fijate que son los casos los que referencian a los juzgados y nunca al revés.
Ahora bien, una select que te traiga los casos Y la información del juzgado sería así:

SELECT CASOS.*, JUZGADOS.* FROM tabla_casos CASOS
LEFT JOIN tabla_juzgados JUZGADOS ON (CASOS.caso_juzgadoid = JUZGADO.juzgadoid)
WHERE caso_id = '342';
Desde luego es un ejemplo con las tablas de ejemplo, todo esto haz de adaptarlo a tu caso.
Hasta aquí la base de datos, con esta estructura o similar comienza a tirar líneas de código.
Espero haberte sido de ayuda, a ver si te sirve, saludos