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

Problema con group_by

Estas en el tema de Problema con group_by en el foro de Mysql en Foros del Web. Buenass genteee Tengo un sistema de foros.. La cosa es asi.. un subforo tiene varias categorias.. y las categorias tienen varios temas.. Lo que estoy ...
  #1 (permalink)  
Antiguo 26/06/2011, 19:18
Avatar de nicolaslt  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 119
Antigüedad: 15 años
Puntos: 5
Pregunta Problema con group_by

Buenass genteee

Tengo un sistema de foros.. La cosa es asi..

un subforo tiene varias categorias.. y las categorias tienen varios temas..

Lo que estoy tratando de hacer.. es que.. a la vez que muestro todo el foro (es decir, los subforos y las categorias de cada subforo), tomar el id maximo de las categorias de cada subforo... :P

--subforo (idmax:7)--
cat id:1
cat id:7
------------------------

--subforo (idmax:4)--
cat id:4
cat id:2
------------------------

Éste es el código que hice

Código MySQL:
Ver original
  1. SELECT *,max(cat_id) as idMax FROM subforos as sub
  2. left join categorias as cat on cat.cat_sub=sub.sub_id
  3. GROUP BY(sub.sub_id)
  4. ORDER BY sub_posicion,cat_posicion ASC

Obtiene bien el máximo id, pero el problema es que me muestra una categoría por subforo.. el problema es el group by supongo...

Existe alguna forma de llevar a cabo lo que estoy intentando hacer??

saludos y gracias desde ya
;)
  #2 (permalink)  
Antiguo 27/06/2011, 08:32
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Problema con group_by

hola nicolaslt:

En tu post no dejas claro cuál es la estructura de tus tablas, ni tampoco pones datos de ejemplo, por lo que no me queda claro qué es lo que necesitas, pero por lo que puedo suponer tienes más o menos lo siguiente:

Código MySQL:
Ver original
  1. mysql> create table categorias (id_cat int, descripcion varchar(10));
  2. Query OK, 0 rows affected (0.06 sec)
  3.  
  4. mysql> insert into categorias values (1, 'uno'), (2, 'dos'), (4, 'cuatro'),
  5.     -> (7, 'siete'), (10, 'diez');
  6. Query OK, 5 rows affected (0.03 sec)
  7. Records: 5  Duplicates: 0  Warnings: 0
  8.  
  9. mysql> select * from categorias;
  10. +--------+-------------+
  11. | id_cat | descripcion |
  12. +--------+-------------+
  13. |      1 | uno         |
  14. |      2 | dos         |
  15. |      4 | cuatro      |
  16. |      7 | siete       |
  17. |     10 | diez        |
  18. +--------+-------------+
  19. 5 rows in set (0.01 sec)
  20.  
  21. mysql> create table subforos (id_sub int, id_cat int);
  22. Query OK, 0 rows affected (0.06 sec)
  23.  
  24. mysql> insert into subforos values (1, 1), (1, 7), (2, 4), (2, 2);
  25. Query OK, 4 rows affected (0.02 sec)
  26. Records: 4  Duplicates: 0  Warnings: 0
  27.  
  28. mysql> select * from subforos;
  29. +--------+--------+
  30. | id_sub | id_cat |
  31. +--------+--------+
  32. |      1 |      1 |
  33. |      1 |      7 |
  34. |      2 |      4 |
  35. |      2 |      2 |
  36. +--------+--------+
  37. 4 rows in set (0.00 sec)
  38.  
  39. mysql> select S.id_sub, C.* from categorias C inner join
  40.     -> (
  41.     -> select id_sub, max(id_cat) max_id_cat from subforos group by id_sub
  42.     -> ) S on C.id_cat = S.max_id_cat
  43.     -> order by id_sub, id_cat;
  44. +--------+--------+-------------+
  45. | id_sub | id_cat | descripcion |
  46. +--------+--------+-------------+
  47. |      1 |      7 | siete       |
  48. |      2 |      4 | cuatro      |
  49. +--------+--------+-------------+
  50. 2 rows in set (0.00 sec)

Si esto no te sirve sería conveniente que nos dijeras cuál es la estructura completa de tus tablas y que nos pusieras algunos datos de ejemplo, para poder proponerte una consulta más cercana a la realidad.

Saludos
Leo.
  #3 (permalink)  
Antiguo 27/06/2011, 10:10
Avatar de nicolaslt  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 119
Antigüedad: 15 años
Puntos: 5
Respuesta: Problema con group_by

Hola leo, muchas gracias por tu respuesta.. era justo lo que necesitaba

Saludos! :)
  #4 (permalink)  
Antiguo 27/06/2011, 10:16
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Problema con group_by

Un gusto haber sido de ayuda...

Saludos
Leo.

Etiquetas: group
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 05:56.