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

problema con group by sql

Estas en el tema de problema con group by sql en el foro de Mysql en Foros del Web. hola amigos.. tengo la siguiente tabla que se llama Categorias (cat): id--nombre 1 libros 2 perros 3 gatos y otra tabla que se llama Subcategoria ...
  #1 (permalink)  
Antiguo 18/09/2011, 18:31
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 2 meses
Puntos: 16
problema con group by sql

hola amigos.. tengo la siguiente tabla que se llama Categorias (cat):

id--nombre
1 libros
2 perros
3 gatos

y otra tabla que se llama Subcategoria (subcat):

relacion - nombre
1 shakespere
1 olguin
2 golden
2 dogo
2 caniche
3 normal

El problema es que quiero hacer un SELECT con INNER JOIN entre ambas tablas y un Group by para que me agrupe las categorias y que no se repitan..La consulta Sql es esta:

SELECT c.nom as nom, s.nom as sub FROM cat c INNER JOIN subcat s WHERE c.id=s.relacion GROUP BY c.id


haciendo esto me muestra:

libros - shakespere
perros - golden
gatos - normal

pero faltan 3 datos.. los de olguin, dogo y caniche.

Que estare haciendo mal?
gracias por su ayuda
  #2 (permalink)  
Antiguo 19/09/2011, 01:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema con group by sql

SELECT c.nom as nom, s.nom as sub FROM cat c INNER JOIN subcat s WHERE c.id=s.relacion GROUP BY c.id, s.nom

libros - shakespere
libros - olguin
perros - golden
perros - dogo
perros - caniche
gatos - normal

Repetirse se van a repetir....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 19/09/2011, 16:02
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 2 meses
Puntos: 16
Respuesta: problema con group by sql

gracias por la resputra. Mi pregunta es si ha alguna forma que no se repitan las categorias ya que necesito cargan de la Bd un menu acordeon vertical de esta forma:

libros
- shakespere
- olguin
perros
- golden
- dogo
- caniche
gatos
- normal

haciendo subconsultas? la verdad no se como plantearlo
muchas gracias por todo
  #4 (permalink)  
Antiguo 20/09/2011, 00:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema con group by sql

No, debes tratarlo con la programacion externa que estes usando....

P. e. en pseudo codigo

Código PHP:
Ver original
  1. datos=SELECT c.nom as nom, s.nom as sub FROM cat c INNER JOIN subcat s WHERE c.id=s.relacion GROUP BY c.id, s.nom
  2.  
  3. cat=""
  4. mientras datos {
  5.   si datos[cat]==cat {
  6.      muestra " - " . datos[sub]
  7.   }si no{
  8.      muestra datos[cat]." - ".datos[sub]  
  9.      cat=datos[cat]
  10.   }
  11. }

con lo que obtendrias algo asi

libros - shakespere
- olguin
perros - golden
- dogo
- caniche
gatos - normal

si intercalas HTML te será fàcil convertirlo en una lista....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 20/09/2011 a las 00:55

Etiquetas: group, select, sql, tabla
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 08:47.