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

Unir dos tablas

Estas en el tema de Unir dos tablas en el foro de Mysql en Foros del Web. Tengo dos tablas y quiero hacer una unión entre ellas. Estas son las tablas: Quiero que en resultado de la consulta, en una misma fila ...
  #1 (permalink)  
Antiguo 15/11/2009, 06:29
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 17 años, 5 meses
Puntos: 4
Unir dos tablas

Tengo dos tablas y quiero hacer una unión entre ellas.
Estas son las tablas:



Quiero que en resultado de la consulta, en una misma fila no haya resultados con un id_articulo distinto:



He intentado hacerlo de varias formas pero no lo consigo. Os agradecería que me echarais una mano.
  #2 (permalink)  
Antiguo 15/11/2009, 06:51
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Unir dos tablas

Cita:
He intentado hacerlo de varias formas pero no lo consigo. Os agradecería que me echarais una mano.
que has intentado?

Código sql:
Ver original
  1. SELECT t1.color,t2.info,t2.id_articulo FROM
  2. tabla1 t1 RIGHT JOIN tabla2 t2 USING(id_articulo);

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 15/11/2009, 08:08
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 17 años, 5 meses
Puntos: 4
Respuesta: Unir dos tablas

Hola huesos52,

Gracias por el código, pero me pasa lo mismo.
El problema es que se si en el campo de Color no hay nada y en el de info sí, en lugar de aparecer vacío el campo de Color, aparece el dato de la fila anterior repetido.
  #4 (permalink)  
Antiguo 15/11/2009, 08:09
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Unir dos tablas

postea las estructura de las tablas y algunos inserts de ejemplo para ayudarte.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 15/11/2009, 08: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, 4 meses
Puntos: 2658
Respuesta: Unir dos tablas

Para el resultado que quieres lograr debes usar variables de usuario y dos niveles de anidamiento de consultas:
Código sql:
Ver original
  1. SELECT
  2.   ID_ARTICULO,
  3.   COLOR,
  4.   INFO
  5. FROM
  6.   (SELECT
  7.     IF(ID_ARTICULO=@ID AND COLOR=@COL,'',ID_ARTICULO) ID_ARTICULO,
  8.     IF(COLOR=@COL AND ID_ARTICULO=@ID,'',COLOR) COLOR,
  9.     INFO,
  10.     @ID:=ID_ARTICULO,@COL:=COLOR
  11.   FROM
  12.     (SELECT ID_ARTICULO, COLOR, INFO, @ID:=0, @COL:=''
  13.     FROM TABLA1 INNER JOIN TABLA2 USING(ID_ARTICULO)
  14.     ) T1
  15.    )T2;
  16.  
  17. +-------------+-------+--------+
  18. | ID_ARTICULO | COLOR | INFO   |
  19. +-------------+-------+--------+
  20. | 1           | VERDE | GRANDE |
  21. |             |       | ALTO   |
  22. | 2           | AZUL  | FUERTE |
  23. |             |       | RARO   |
  24. +-------------+-------+--------+
  25. 4 ROWS IN SET (0.00 sec)
En mi opinión tiene menos complicaciones si esto lo controlas en la aplicación.
__________________
¿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 15/11/2009, 16:36
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 17 años, 5 meses
Puntos: 4
Respuesta: Unir dos tablas

Gracias por las respuestas. probaré la tuya gnzsoloyo, a ver que tal.
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 23:03.