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

[SOLUCIONADO] Consulta SQL con campos repetidos??

Estas en el tema de Consulta SQL con campos repetidos?? en el foro de Mysql en Foros del Web. Hola foristas!! Tengo 2 tablas, de la siguiente manera: tabla1 (5 campos) identificador1 - paso1 - paso2 - paso3 - paso4 (en los registros se ...
  #1 (permalink)  
Antiguo 20/08/2013, 13:32
Avatar de morfeo1002  
Fecha de Ingreso: julio-2002
Mensajes: 65
Antigüedad: 21 años, 9 meses
Puntos: 0
Consulta SQL con campos repetidos??

Hola foristas!!

Tengo 2 tablas, de la siguiente manera:

tabla1 (5 campos)
identificador1 - paso1 - paso2 - paso3 - paso4
(en los registros se guardan los identificadores de cada paso definidos en tabla2)

tabla2 (2 campos)
identificador2 - nombre_del_paso

quiero hacer una consulta que me devuelva, digamos, todos los registros de "tabla 1", pero mostrando los nombres de los pasos contendos en "tabla2" en vez de mostrar los identificadores

Lo sé... suena trivial... pero me tiene rompiéndome el coco en una consulta más compleja!!!

Gracias de antemano amigos
  #2 (permalink)  
Antiguo 20/08/2013, 13:44
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Consulta SQL con campos repetidos??

puedes poner algunos registros de las tablas que deseas mostrar...??? solo para tenerlos como referencia...???
__________________
Lo que no se....tampoco creo saberlo....
  #3 (permalink)  
Antiguo 20/08/2013, 14:15
Avatar de morfeo1002  
Fecha de Ingreso: julio-2002
Mensajes: 65
Antigüedad: 21 años, 9 meses
Puntos: 0
Respuesta: Consulta SQL con campos repetidos??

´Tengo una tabla donde defino el estado de cada uno de los 4 pasos de un proceso:



La tabla con los nomencladores de esos pasos es:



Quiero que la consulta me muestre los resultados de esta manera:



Gracias por la prontitud!!
  #4 (permalink)  
Antiguo 20/08/2013, 16:28
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Consulta SQL con campos repetidos??

pude encontrar una alternativa, pero no es creando una nueva tabla, sino actualizando la tabla 1

Código SQL:
Ver original
  1. CREATE TABLE pasos(
  2. id INT,
  3. paso_1 VARCHAR(25),
  4. paso_2 VARCHAR(25),
  5. paso_3 VARCHAR(25),
  6. paso_4 VARCHAR(25)
  7. );
  8. INSERT INTO pasos VALUES ('1','1','2','1','4');
  9. INSERT INTO pasos VALUES ('2','3','2','4','4');
  10. INSERT INTO pasos VALUES ('3','3','2','3','1');
  11.  
  12. CREATE TABLE estados(
  13. id INT,
  14. estado VARCHAR(25)
  15. );
  16. INSERT INTO estados VALUES ('1','iniciado');
  17. INSERT INTO estados VALUES ('2','en proceso');
  18. INSERT INTO estados VALUES ('3','aprobado');
  19. INSERT INTO estados VALUES ('4','terminado');
  20.  
  21. CREATE proc prueba
  22. @a VARCHAR(2)
  23. AS
  24. DECLARE @c VARCHAR(2)
  25. SET @c=1
  26. DECLARE @SQL VARCHAR(1000)
  27. while @c < @a
  28. BEGIN
  29. SET @SQL='update pasos set paso_'+@c+'=t02.estado from pasos t01 inner join estados t02 on t01.paso_'+@c+'=t02.id'
  30. EXEC(@SQL)
  31. SET @c=@c+1
  32. END
  33. GO
  34. EXEC prueba 6

en donde @a es la cantidad de columnas que tiene tu tabla,
espero te sirva de algo.....
__________________
Lo que no se....tampoco creo saberlo....
  #5 (permalink)  
Antiguo 20/08/2013, 16:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta SQL con campos repetidos??

@ambichol: Ese SP no tiene sintaxis de MySQL.
Por favor, trata de concentrarte en escribir la sintaxis correcta para el DBMS de que se trata en el foro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 20/08/2013, 17:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta SQL con campos repetidos??

con consulta. No lo he probado. Fíjate que hago varios innerjoin a la misma tabla.
Código MySQL:
Ver original
  1.    T0.ID ID,
  2.    T1.ESTADO paso1,
  3.    T2.ESTADO paso2,
  4.    T3.ESTADO paso3,
  5.    T4.ESTADO paso4  
  6. FROM TABLA1 T0
  7.   INNER JOIN TABLA2 T1 ON T0.paso1 = T1.ID
  8.   INNER JOIN TABLA2 T2 ON T0.paso2 = T2.ID
  9.   INNER JOIN TABLA2 T3 ON T0.paso3 = T3.ID
  10.   INNER JOIN TABLA2 T4 ON T0.paso4 = T4.ID
  #7 (permalink)  
Antiguo 21/08/2013, 07:33
Avatar de morfeo1002  
Fecha de Ingreso: julio-2002
Mensajes: 65
Antigüedad: 21 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Consulta SQL con campos repetidos??

@ambichol, muchísimas gracias por tu tiempo, tu propuesta funciona si optara por llevar el resultado a una nueva tabla en la BD. Ya he tomado nota.

@jurena, tu solución fue lo que necesitaba para ahora mismo, funcionó perfectamente. Nunca hubiese llegado a ella por mi solo.

A todos gracias por su colaboración, un saludo y espero poder devolverles el favor algún día de estos

Etiquetas: campo, campos, registros, sql, tabla
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 01:35.