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

Pueden haber 2 count? consulta dificil q no sale...

Estas en el tema de Pueden haber 2 count? consulta dificil q no sale... en el foro de Bases de Datos General en Foros del Web. bueno recurro al foro porque ya llevo un par de dias dandole vueltas a esto y no hay manera..... el tema es que estoy realizando ...
  #1 (permalink)  
Antiguo 27/12/2003, 12:20
 
Fecha de Ingreso: enero-2002
Mensajes: 236
Antigüedad: 22 años, 10 meses
Puntos: 0
Pregunta Pueden haber 2 count? consulta dificil q no sale...

bueno recurro al foro porque ya llevo un par de dias dandole vueltas a esto y no hay manera.....

el tema es que estoy realizando un foro, con unas especificaciones muy concretas, y hay una consulta que no logro obtener.

las tablas de donde kiero sacar los datos son

tabla smp_foros_categorias

id
titulo
descripcion

tabla smp_foros

id
id_foro
pertenece (puede ser 0 o 1 de valor)

Bueno lo que intento obtener es para cada fila de la primera tabla (es decir para cada foro) el numero de campos de la segunda con valor 0 y el numero de campos con valor 1 en una sola consulta.

Algo asi :

Código:
titulo       |  descripcion        | campos con valor pertenece=0 |  campos con valor pertenece=1
titulo1     |   descripcion1     |  5                             |  1
titulo2     |   descripcion2     |  8                             |  2
de momento tengo esto... pero creo q no voy bien encaminado. Esta consulta me muestra el total de campos de la segunda tabla que pertenecen a la primera... pero no los de valor pertenece 1 y valor pertenece 0....

Código:
SELECT smp_foros_categorias.titulo, descripcion,smp_foros_categorias.id, COUNT(smp_foro.id) as temas
FROM smp_foros_categorias left JOIN smp_foro
ON smp_foros_categorias.id=smp_foro.id_foro
GROUP BY smp_foros_categorias.id
no se si me he explicado bien... pero a ver si alguien me puede orientar un poco.

Saludos!!!
  #2 (permalink)  
Antiguo 28/12/2003, 15:34
 
Fecha de Ingreso: junio-2003
Mensajes: 111
Antigüedad: 21 años, 5 meses
Puntos: 0
GSMDN: Yo manejo algo de sql no se cual pero no utilizo el join y el on que vos pones yo la haria así:


SELECT smp_foros_categorias.id,titulo, descripcion,pertenece,COUNT(pertenece)
FROM smp_foros_categorias,smp_foros
where smp_foros_categorias.id = smp_foro.id
GROUP BY smp_foros_categorias.id, pertenece

la diferencia con lo que pusiste es que lo agruparia tambien con pertenece , o sea un solo count agrupado ( sería por los dos valores) y en la selecciono el pertenece para saber a cual pertenece cada valor del contador.
Mira si puede ser.
Saludos
  #3 (permalink)  
Antiguo 28/12/2003, 17:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Pensamiento alternativo: si el campo pertenece es 0 o 1, SUM(pertenece) te da la suma de los valores de ese campo, que coincide con el numero de 1 (creo que es claro). Entonces el numero de 0 es el numero total de registros menos el numero de 1.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 29/12/2003, 12:55
 
Fecha de Ingreso: enero-2002
Mensajes: 236
Antigüedad: 22 años, 10 meses
Puntos: 0
gracias josemi.... buena idea!!!
  #5 (permalink)  
Antiguo 30/12/2003, 05:00
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Otra posibilidad

SELECT smp_foros_categorias.titulo, descripcion,smp_foros_categorias.id, Sum(smp_foro.id) as Total_Unos, Sum((smp_foro.id - 1) * (-1)) AS Total_Ceros
FROM smp_foros_categorias left JOIN smp_foro
ON smp_foros_categorias.id=smp_foro.id_foro
GROUP BY smp_foros_categorias.id


Un saludo
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.