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

unir varias tablas

Estas en el tema de unir varias tablas en el foro de Mysql en Foros del Web. necesito unir varias tablas son 20 tablas aca solo uno tres @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT a.titulo , a.respuesta , b.respuesta , c.respuesta ...
  #1 (permalink)  
Antiguo 21/08/2014, 13:33
 
Fecha de Ingreso: enero-2013
Ubicación: cusco
Mensajes: 13
Antigüedad: 11 años, 3 meses
Puntos: 0
unir varias tablas

necesito unir varias tablas son 20 tablas aca solo uno tres
Código MySQL:
Ver original
  1. SELECT a.titulo,a.respuesta,b.respuesta,c.respuesta FROM report1 a JOIN report2 b USING(orden,idItem,titulo)  JOIN report3 c USING(orden,idItem,titulo) ORDER BY orden

pero com puedo hacer para unir las 20 con
Código MySQL:
Ver original
  1. PREPARE test FROM @SQLString1;
  2.    EXECUTE

para q haga un buche pero como puedo hacer que algunas variables tengam mas taño
  #2 (permalink)  
Antiguo 21/08/2014, 13:37
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: unir varias tablas

¿A qué "variables" te refieres?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 21/08/2014, 14:16
 
Fecha de Ingreso: enero-2013
Ubicación: cusco
Mensajes: 13
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: unir varias tablas

Código MySQL:
Ver original
  1. SELECT A.titulo,A.respuesta,B.respuesta,C.respuesta,D.respuesta,E.respuesta,F.respuesta,G.respuesta,H.respuesta,I.respuesta,J.respuesta,K.respuesta,L.respuesta,M.respuesta,N.respuesta,O.respuesta,P.respuesta,Q.respuesta,R.respuesta FROM report1 A JOIN report2 B USING(orden,idItem,titulo)
  2. JOIN report3 C USING(orden,idItem,titulo) JOIN report4 D USING(orden,idItem,titulo)JOIN report5 E USING(orden,idItem,titulo)
  3. JOIN report6 F USING(orden,idItem,titulo) JOIN report7 G USING(orden,idItem,titulo)JOIN report8 H USING(orden,idItem,titulo)
  4. JOIN report9 I USING(orden,idItem,titulo) JOIN report10 J USING(orden,idItem,titulo)JOIN report11 K USING(orden,idItem,titulo)
  5. JOIN report12 L USING(orden,idItem,titulo) JOIN report13 M USING(orden,idItem,titulo)JOIN report14 N USING(orden,idItem,titulo)
  6. JOIN report15 O USING(orden,idItem,titulo) JOIN report16 P USING(orden,idItem,titulo)JOIN report17 Q USING(orden,idItem,titulo)
  7. JOIN report18 R USING(orden,idItem,titulo)
  8. ORDER BY A.orden
  9.  
  10. ESTA ES LA UNION DE TODAS TABLAS PERO QUIERO HACERLO DINAMICAMENTE
  11. SET a=65; ---PARA QUE COMIENSE TABLA A
  12.  WHILE v < 19 DO
  13.           SET @letra = CHAR(a);
  14.                         IF( @sql  IS NULL) THEN
  15.                         SET @sql =@letra;
  16.                         ELSE
  17.                         SET @sql = CONCAT(@sql,',',@letra);
  18.                         END IF;
  19.                    
  20.                          SET a = a +1 ;            
  21.             SET v = v +1 ;
  22.         END WHILE;
UNIR TDOS LAS PARTES DE ARRIBA NO SIEMPRE UNIRE 18 TABLAS SI NO 20 O 5 AYUDA PORFA

Última edición por gnzsoloyo; 21/08/2014 a las 14:45
  #4 (permalink)  
Antiguo 21/08/2014, 14:48
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: unir varias tablas

No hay una query ni sintaxis única para hacer eso.
Por lo pronto, deberás implementarlo sí o sí en un SP. Pero además el SP debe poder recibir un parámetro por tabla,y además ser capaz de definir la construcción...
La verdad es que me parece que estás haciendo algo demasiado complicado, y sin concoer qué representan esas tablas es difícil darte una solución funcionalmente útil
Es pocas palabras: Quieres que te demnos una solución genérica para algo que sólo se resuelve en escenarios específicos.
No sé si no es mejor que lo resuelvas dinámicamente en la aplicación y que luego ejecutes directamente laquery. Un SP que pueda hacer lo que quieres puede ser kilométrico.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 21/08/2014, 15:55
 
Fecha de Ingreso: enero-2013
Ubicación: cusco
Mensajes: 13
Antigüedad: 11 años, 3 meses
Puntos: 0
Crear reporte de tablas

AYUDA COMO HACER REPORTE PRIMERO NECESITO METER ESTOS DATOS
TABLA 1 INTERVENCION CANTIDADA DE ENCUESTAS SACAMOS IDS
SELECT idintervencion FROM intervencion WHERE idPeriodo=2014 AND iddistrito=03 AND idprovincia=02 AND idRegion=08;
RESULTADO (30866,30865,30864,28101.......) 18 ENCUESTAS TOTALAS CON ESE ID
TABLA2 ACA ESTAN RESPUESTAS DE CASA ENCUESTA DE ARRIBA
SELECT * FROM evaluacionsaneamiento WHERE idSeccion="III" AND idSubSeccion="1" AND idintervencion
IN(SELECT idintervencion FROM intervencion WHERE idPeriodo=2014 AND iddistrito=03 AND idprovincia=02 AND idRegion=08) ORDER BY idintervencion;
TABLA3 item DONDE ESTA LAS PREGUNTAS EN NOMBRE ESTA UNIDA CON TABLA 2 POR EL IDITEM
SELECT * FROM item WHERE idSeccion="III" AND idSubSeccion="1" ORDER BY ORDEN;
TABLA4 item DONDE ESTA LAS RESPUESTAS EN NOMBRE ESTA UNIDA CON TABLA 2 POR EL VALOR SI TABLA2 UN ESTA 1 ACA SU ETIQUETA ES "SI"

SELECT *FROM alternativasaneamiento WHERE idSeccion="III" AND idSubSeccion="1"

LO QUE NECESITO ES UN SELECT
PREGUNTA | 30866 | 30865 | 30864 |28101
¿Está operativo? | NO | SI |NO | SI
EDAD |18 | NULL |18 |20
CIUDAD |MIAMI | LIMA | BUENOS A. |BILLBAOO


LO QUE HICE HASTA AHORA CON UN CURSOR CREAR UNA TABLA PARA CADA ENCUESTA PERO SON MAS 18 COMO UNIRLAS ?

ESTE ES EL SCRIP DE LA BD QUE ESTOY USANDO
[URL="https://onedrive.live.com/?cid=46D0F38DACC13C05&id=46D0F38DACC13C05!168"]AQUI ESTA ONEDRIVE[/URL]
  #6 (permalink)  
Antiguo 21/08/2014, 16:01
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: unir varias tablas

No abras threads nuevos con el mismo tema.
Las PDU lo prohíben expresamente.
Ten paciencia. Ya te responderemos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 21:07.