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

Error en Select con Count y Distinct

Estas en el tema de Error en Select con Count y Distinct en el foro de Mysql en Foros del Web. Hola quiero hacer un Count de una consulta pero me da error POR EL COUNT. Tiene que haber distinct para que no se repitan resultados ...
  #1 (permalink)  
Antiguo 30/06/2009, 03:11
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
De acuerdo Error en Select con Count y Distinct

Hola quiero hacer un Count de una consulta pero me da error POR EL COUNT.
Tiene que haber distinct para que no se repitan resultados
¿Como lo puedo hacer para que me muestre el resultado del count?

Gracias ¡¡¡

SELECT count (distinct (t_puntos_venta.id_punto_venta))
FROM t_datos_envio,t_puntos_venta,t_envios
WHERE t_datos_envio.id_punto_venta = t_puntos_venta.id_punto_venta
AND t_envios.id_envio=t_datos_envio.id_envio
AND t_envios.id_envio='37'
  #2 (permalink)  
Antiguo 30/06/2009, 03:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Error en Select con Count y Distinct

Prueba esto:
Código SQL:
Ver original
  1. SELECT COUNT(DISTINCT t_puntos_venta.id_punto_venta)total FROM t_datos_envio
  2. INNER JOIN t_puntos_venta ON t_datos_envio.id_punto_venta = t_puntos_venta.id_punto_venta
  3. INNER JOIN t_envios ON t_envios.id_envio=t_datos_envio.id_envio
  4. WHERE t_envios.id_envio=37

De todas formas deberías decirnos cuál es la lógica, cuáles son las relaciones entre las tablas, y poner algún ejemplo con datos concretos. Aunque antes podrías probar la consulta, pero sobre algún dato que sepas que ofrece resultado.
  #3 (permalink)  
Antiguo 30/06/2009, 10:50
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Respuesta: Error en Select con Count y Distinct

Porque no intentas con un group by, creo que se adecua mejor a tu situacion:

Código:
    SELECT COUNT(t_puntos_venta.id_punto_venta) AS total, t_puntos_venta.id_punto_venta
    FROM t_datos_envio INNER JOIN t_puntos_venta ON t_datos_envio.id_punto_venta = t_puntos_venta.id_punto_venta
    INNER JOIN t_envios ON t_envios.id_envio=t_datos_envio.id_envio
    WHERE t_envios.id_envio=37
    GROUP BY t_puntos_venta.id_punto_venta
Bueno todo depende de la informacion que quieras obtener, aclarando la logica como menciona jurena podiamos darte una mejor ayuda,

deadlykyo
__________________
"El Conocimiento es de todos, no solo de algunos"
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 15:16.