PHP - Unir dos consultas

 
Vista:

Unir dos consultas

Publicado por matuha (33 intervenciones) el 01/11/2015 18:21:13
Hola soy bastante nuevo con php y mysql y me gustaría que me dieran un ejemplo sobre unir dos consultas.

lo que quiero hacer exactamente es lo siguiente,

supongamos que en mysql tengo dos tablas, una de ella es productos y la otra es comentarios

en productos supongamos que tengo las columnas:

1
2
3
4
5
6
7
8
9
10
11
id | id_grupo | nombre | descripción | precio
 
1 | 4 | nombre producto 1 | descripción producto 1 | 17 €
2 | 4 | nombre producto 2 | descripción producto 2 | 12 €
3 | 4 | nombre producto 3 | descripción producto 3 | 19 €
4 | 7 | nombre producto 4 | descripción producto 4 | 13 €
5 | 7 | nombre producto 5 | descripción producto 5 | 22 €
6 | 7 | nombre producto 6 | descripción producto 6 | 65 €
7 | 1 | nombre producto 7 | descripción producto 7 | 12 €
8 | 1 | nombre producto 8 | descripción producto 8 | 25 €
9 | 4 | nombre producto 9 | descripción producto 9 | 11 €


en comentarios supongamos que tengo las columnas:

1
2
3
4
5
6
7
8
9
10
11
id | id_producto | fecha | comentario
 
1 | 7 | 01/11/2015 | comentario 1 para productos del id_grupo 7
2 | 4 | 01/11/2015 | comentario 1 para productos del id_grupo 4
3 | 4 | 01/11/2015 | comentario 2 para productos del id_grupo 4
4 | 4 | 01/11/2015 | comentario 3 para productos del id_grupo 4
5 | 4 | 01/11/2015 | comentario 4 para productos del id_grupo 4
6 | 7 | 01/11/2015 | comentario 2 para productos del id_grupo 7
7 | 1 | 01/11/2015 | comentario 1 para productos del id_grupo 1
8 | 1 | 01/11/2015 | comentario 2 para productos del id_grupo 1
9 | 1 | 01/11/2015 | comentario 3 para productos del id_grupo 1


Pues lo que quiero hacer es que me ordene los grupos por comentarios descendentemente..

cuando obtenga los resultados debería quedar ordenado así:

Grupo 4
Grupo 1
Grupo 4


a ver si alguien podría darme un ejemplo por favor, me tiene estancado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Unir dos consultas

Publicado por matuha (33 intervenciones) el 02/11/2015 17:57:29
Creo que no me explique bien,

he cambiado unas cosas, a ver si ahora logro aclarar mas lo que quiero hacer:

tengo varias tablas, una se llama productos y la otra comentarios

la tabla productos la tengo así:

1
2
3
4
id | nombre | descripción | precio
1  | nombre producto 1 | descripción producto 1 | 17 €
2  | nombre producto 2 | descripción producto 2 | 19 €
3  | nombre producto 3 | descripción producto 3 | 12 €

la tabla comentarios la tengo así:

1
2
3
4
id | id_producto | numero_comentarios
1  | 1 |  238
2  | 2 | 1569
3  | 3 |  158

Quiero hacer una consulta a las dos tablas para que me devuelva los productos ordenados por numero_comentarios descendentemente. como podría lograrlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Unir dos consultas

Publicado por Lawliet (351 intervenciones) el 02/11/2015 18:22:17
Hola...

Prácticamente lo que necesitas es un INNER JOIN...

1
SELECT * FROM productos p INNER JOIN comentarios c ON p.id=c.id_producto ORDER BY c.numero_comentarios DESC;

Sin más que comentar, cualquier duda y/o inconveniente, aquí estamos.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Unir dos consultas

Publicado por matuha (33 intervenciones) el 02/11/2015 20:13:41
Muchas gracias Lawliet!! funciona como quería :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar