Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/08/2013, 16:28
ambichol
 
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....