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

Consulta Avanzada Mysql

Estas en el tema de Consulta Avanzada Mysql en el foro de Mysql en Foros del Web. Continua mi problema. tengo estas tablas: Reportes -------------------------------- id_reporte | id_producto | -------------------------------- 1 | 1 | -------------------------------- 1 | 2 | -------------------------------- Producto -------------------------------- ...
  #1 (permalink)  
Antiguo 28/08/2009, 14:56
 
Fecha de Ingreso: agosto-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
Exclamación Consulta Avanzada Mysql

Continua mi problema.

tengo estas tablas:

Reportes
--------------------------------
id_reporte | id_producto |
--------------------------------
1 | 1 |
--------------------------------
1 | 2 |
--------------------------------

Producto
--------------------------------
id_producto | descripc |
--------------------------------
1 | martillo |
--------------------------------
2 | clavo |
--------------------------------


luego de un join obtengo:

id_reporte | id_producto | descripcion |
------------------------------------------------------
1 | 1 | martillo |
------------------------------------------------------
1 | 2 | clavo |
------------------------------------------------------


y lo que realmente quiero obtener es:

id_reporte | id_producto | descripcion | id_producto |descripcion|
----------------------------------------------------------------------------------
1 | 1 | martillo | 2 | clavo |
-----------------------------------------------------------------------------------


como puedo hacerlo, realmente se puede hacer esto?????


saludos
  #2 (permalink)  
Antiguo 29/08/2009, 03:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Consulta Avanzada Mysql

Te sugiero estudiar los JOINs (INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN) para que puedas lograr lo que quieres. Te dejo varios links para que estudies lo que te estoy diciendo.
http://mysql.conclase.net/curso/index.php?sen=JOIN
http://www.w3schools.com/SQl/sql_join.asp
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 29/08/2009, 08:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta Avanzada Mysql

jonas alvarado,
eso que quieres, suele resolverse con programación, porque, al fin y al cabo, es un problema de presentación. La base ya te da los datos usando el inner join, pero te los da en filas (registros) y columnas (campos). También puede hacerse en la base de datos directamente algo parecido, aunque con una presentación distinta, mediante group_concat y group by. Más parecido a lo que quieres es el resultado de otra opción, instanciar dos veces a la misma tabla buscando una vez el martillo y otra vez el clavo, pero luego tendrías que controlar si hubiera más productos e instanciar a la base por cada uno de ellos. Pero, vuelvo a decirte, que esto es algo que resolverás fácilmente con tu programa y algo de HTML, al menos en el caso de MySQL.
  #4 (permalink)  
Antiguo 29/08/2009, 09:06
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: Consulta Avanzada Mysql

Mira el ultimo post de las faq´s de mysql donde pongo un ejemplo de uso de la función group_concat que te menciona jurena.

Se debe combinar con lo que te ofrece abimaelrc.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 11/09/2009, 09:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Consulta Avanzada Mysql

ciertamente lo resolvi con php, un millon de gracias...
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 04:39.