Ayuda con sonsulta sql

Iniciado por achorao, 15 Enero 2012, 19:04 PM

0 Miembros y 2 Visitantes están viendo este tema.

achorao

Estimados, necesito que me puedan apoyar con lo siguiente:
Tengo las siguientes tablas en mi base de datos mysql:

1. TABLA AREAS

COD_AREA   DES_AREA
--------------------------
MOL           MOLIENDA
TRA           TRANSPORTE
MAQ           MAQUINADO
HOR           HORNOS


2. TABLA EQUIPO

COD_EQUI           NOM_EQUI    COD_AREA
--------------------------------------------------
MOL001      MOLINO FVH   MOL
MOL002      MOLINO 50HP   MOL
TRA001      FAJA TRANSP   TRA
TRA002      FAJA LONG           TRA
MAQ001      TORNO      MAQ
MAQ002      FRESA      MAQ
HOR001      HORNO 10M3   HOR
HOR002      HORNO 12M3   HOR


3. TABLA INSPECC

COD_EQUI NUM_INSP    C_N_INSP   DESC_NUM_INSP
--------------------------------------------------------------
MOL001      1      0010      INSPECCION DE ALIMENTADOR
MOL001      2      0021      INSPECCION DE FAJAS
MOL002      1      1532      INSPECCION DE LINEAS AUX
MOL002      2      2342      INSPECCION DE RESIST.
TRA001      1      1432      INSPECCION DE FLUJO
TRA001      2      1234      INSPECCION DE POTENCIA
TRA002      1      1121      INSPECCION DE BOMBA
TRA002      2      1145      INSPECCION DE RODAJE
MAQ001      1      1187      INSPECCION DE SELLO
MAQ001      2      1108      INSPECCION DE LUBR
MAQ002      1      1561      INSPECCION DE RUIDO
MAQ002      2      1297      INSPECCION DE MEC.
HOR001      1      1378      INSPECCION DE EMPAQ
HOR001      2      1812      INSPECCION DE REVOL
HOR002      1      1939      INSPECCION DE BALANZ
HOR002      2      2533      INSPECCION DE SENSOR


4. TABLA RUTA

COD_RUTA   COD_EQUI   NUM_INSP
-----------------------------------------------------------
1              MOL001      1
1              MOL001      2
2              MOL002      1
2              MOL002      2
3              TRA001      1
3              TRA001      2
4              TRA002      1
4              TRA002      2
5              MAQ001      1
5              MAQ001      2
6              MAQ002      1
6              MAQ002      2
7              HOR001      1
7              HOR001      2
8              HOR002      1
8              HOR002      2


5. RUTA_INSP

COD_RUTA   NOM_RUTA   FECHA      FRECUENCIA
----------------------------------------------------------------
1      RUTA 3 DIAS           01/01/2012   3
2      RUTA 5 DIAS           02/01/2012   5
3      RUTA 7 DIAS           03/01/2012   7
4      RUTA 10 DIAS           04/01/2012   10
5      RUTA 15 DIAS           05/01/2012   15
6      RUTA 21 DIAS           06/01/2012   21
7      RUTA 30 DIAS           07/01/2012   30
8      RUTA 40 DIAS           08/01/2012   40
9      RUTA 45 DIAS           09/01/2012   45


6. NIVELES


COD_NIVEL   NOM_NIVE
-----------------------------
0010      NIVEL 17
0021      NIVEL 13
1532      NIVEL 15
2342      NIVEL 11
1432      NIVEL 25
1234      NIVEL 5
1121      NIVEL 27
1145      NIVEL 31
1187      NIVEL 29
1108      NIVEL 1
1561      NIVEL 7
1297      NIVEL 23
1378      NIVEL 21
1812      NIVEL 9
1939      NIVEL 3
2533      NIVEL 19



Que consulta en sql deberia hacer para que el resultado sea de la aiguiente manera

NOM_AREA   FRECUENCIA   NOM_EQUI   NOM_NIVE   DESC_NUM_INSP         FECHA
------------------------------------------------------------------------------------------------------------
MOLIENDA   3      MOLINO FVH   NIVEL 17   INSPECCION DE ALIMENTADOR   01/01/2012
MOLIENDA   3      MOLINO FVH   NIVEL 13   INSPECCION DE FAJAS      02/01/2012
MOLIENDA   5      MOLINO 50HP   NIVEL 15   INSPECCION DE LINEAS AUX   03/01/2012
MOLIENDA   5      MOLINO 50HP   NIVEL 11   INSPECCION DE RESIST.      04/01/2012
TRANSPORTE   7      FAJA TRANSP   NIVEL 25   INSPECCION DE FLUJO      05/01/2012
TRANSPORTE   7      FAJA TRANSP   NIVEL 5      INSPECCION DE POTENCIA      06/01/2012
.
.
.
y asi sucesivamente


Cabe mencionar que en la Tabla INSPECC la columna C_N_INSP es equivalente a la tabla NIVELES columna COD_NIVEL   
Este es solo un ejemplo, en realidad mis tablas tienen cientos de lineas, pero la estructura es la misma y no puedo modificarla.
Espero puedan ayudarme
Gracias

Shell Root

Que tienes hasta el momento? Sabes usar INNER JOIN? De donde sale el campo NOM_AREA?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

achorao

NOM_AREA = DES_AREA, se usar el JOIN, no a un nivel avanzado pero si lo basico para unir tablas, pero donde se me dificultan las cosas son con las tablas 3, 4 y 5

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

achorao

#4
Porque que?

2Fac3R

Cita de: achorao en 16 Enero 2012, 14:14 PM
pero donde se me dificultan las cosas son con las tablas 3, 4 y 5

¿Porque se te dificulta? -.-
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

achorao

¿Será porque no se como hacerlo?

fran800m

Citar¿Será porque no se como hacerlo?

¿ Será que te preguntan porque un inner join es lo mismo con 2 tablas que con 3, 4, 5, ... 127478 ?

¿ Será que como todavía tengas la poca verguenza de ponerte impertinente con quien puede ayudarte te va a ayudar Rita la cantaora ?

achorao

Gracias frann, pero cuando junto mas de 4 tablas me arroja demasiados resultados, gracias de todas maneras

fran800m

achorao, pega la consulta y vamos a ver qué puede estar pasando, será cuestión de acotar más la consulta con where o usando más de un punto de unión, pero a más tablas más resultados.

Tu postea que todo se saca adelante.