Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta con tablas con relación débil.

Estas en el tema de Consulta con tablas con relación débil. en el foro de Bases de Datos General en Foros del Web. Hola amig@s, tengo una consulta en mysql un poco complicada que no se como hacer... Tengo una tabla que relaciona imágenes y descriptores formada por: ...
  #1 (permalink)  
Antiguo 25/04/2005, 05:50
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 19 años, 7 meses
Puntos: 4
Pregunta Consulta con tablas con relación débil.

Hola amig@s, tengo una consulta en mysql un poco complicada que no se como hacer...

Tengo una tabla que relaciona imágenes y descriptores formada por: (id_imagen, id_descriptor), el id_descriptor de esta tabla hace referencia a otra tabla; Descriptor, formada por:(id_concepto,nombre_concepto, id_categoria) y está tabla a su vez está relacionada en una relación débil (creo que se les llama así) con la tabla Categorias formada por(id_categoria,nombre_categoria).

Espero que me hayan seguido... bueno pues teniendo esto quiero borrar de la tabla que relaciona imágenes y descriptores los registros cuyos descriptores pertenezcan a una determinada categoría.

A ver si alguien me puedo decir como hacer esta consulta o algún tutorial donde hacer este tipo de consultas.

Gracias.
  #2 (permalink)  
Antiguo 26/04/2005, 01:48
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Dependiendo de la versión de mysql se puede hacer por sql directo o tienes que hacer un programa. Desde la versión 4.1 en adelante, puedes usar subconsultas, con lo que el borrado se hace relativamente sencillo. Sino es así te toca programar.
Los descriptores que quieres borrar, por subconsulta, lo puedes hacer:
Código:
delete from tabla_relacion 
where id_descriptor in (select id_descriptor 
from descriptor where id_catetoria=$categoria)
Un saludo.
__________________
Estoy contagiado de Generación-I
  #3 (permalink)  
Antiguo 27/04/2005, 03:14
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 19 años, 7 meses
Puntos: 4
Hey Vice muchas gracias... me ha sido de mucha ayuda!!!!!!!
  #4 (permalink)  
Antiguo 28/04/2005, 01:47
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Otra forma que tienes en mysql para hacer este tipo de borrado es:
Código:
delete tabla_relacion
from tabla_relacion, descriptor
where tabla_relacion.id=descriptor.id
and descriptor.catetoria=$categoria
Esto te funciona a partir de la versión 4.0.2 de mysql.
Un saludo.
__________________
Estoy contagiado de Generación-I
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:15.