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

Consulta Compleja con 3 tablas

Estas en el tema de Consulta Compleja con 3 tablas en el foro de Mysql en Foros del Web. Buenos dias amigos, espero puedan ayudarme con este problema que me tiene varios dias estancado. Tengo un aplicativo el cual registra novedades diarias (tb_novedades), e ...
  #1 (permalink)  
Antiguo 05/04/2011, 10:03
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Consulta Compleja con 3 tablas

Buenos dias amigos, espero puedan ayudarme con este problema que me tiene varios dias estancado.

Tengo un aplicativo el cual registra novedades diarias (tb_novedades), e inspecciones (tb_inspecciones), el tema es que en ciertos casos estos originan amanazas o riesgos, segun el registro (tb_amenazas), solo en algunos casos, osea no todos. A continuacion le pongo un detalle de las tablas:

tb_novedades (codNovedades, hora, fecha, lugar, descripcion, seguimiento etc.)
tb_inspeccion (codInpseccion, hora, fecha, lugar, acciones, controles etc.)
tb_amenazas (codAmenaza, CodOrigen, tipo, recomendaciones, diagnostico etc.)

El codAmenaza es correlativo
Si la novedad oriGina una amenaza el codOrigen toma el nombre de codNovedad y tipo el valor 1
En caso que una inspeccion origine una amenza el codOrigen toma el codInpeccion y tipo el valor 2

De esta manera se van llenando las tablas

Hasta ahi todo ok

En una parte de mi aplicativo necesito mostrar todas las amenazas, lo cual tomo la informacion mediante SELECT de la tabla tb_amenzas , pero necesito tambien algunos datos relaxcionados a estas amenazas de las otras dos tablas de acuerdo de quien fue originado, como la fecha, hora, pero que discrimine de donde tomar el valor segun el registro de amenazas, si lo toma de tb_novedades si es que el tipo es 1 y que lo tome de tb_inspeccion si es que el tipo es 2

Bueno este es mi problema, espero que con la experiencia que tiene muchos aqui puedan ayudareme y encaminarme a la solucion. Ojo que si tienen una mejor idea de como organizar mi informacion en tablas, me la pueden sugerir.
  #2 (permalink)  
Antiguo 05/04/2011, 11:01
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Consulta Compleja con 3 tablas

hey que tal,

veo que tienes campos repetidos en tb_novedades y tb_inspeccion, podrías hacer una sola:

tb_nov_insp(cod,tipo,fecha,lugar)
tipo seria 0 por ejemplo para novedad y 1 para inspeccion, y agregas todos los campos que se repitan si es que faltan

d ahi los demas datos, sería un tipo de herencia,

tb_novedad(cod_novedad,descripcion,seguimiento)

tb_inspeccion(cod_inspeccion,recomendaciones,diagn ostico)

tb_amenazas (codAmenaza, CodOrigen, recomendaciones, diagnostico etc.)
cod_origen seria la llave foranea a tb_nov_insp y ya no necesitarias el campo tipo porque ya esta en la otra tabla

Código MySQL:
Ver original
  1. SELECT * FROM tb_nov_insp INNER JOIN tb_amenazas ON cod=CodOrigen;

Ya para saber los datos extra de la novedad o inspeccion haces una consulta con el resultado dond el cod=cod_novedad o cod_inspeccion.

Ojala te ayude saludos.

Etiquetas: tablas
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 19:55.