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

problemas al meter un count en un select que une dos tablas

Estas en el tema de problemas al meter un count en un select que une dos tablas en el foro de Bases de Datos General en Foros del Web. buenas, de antemano muchas gracias a todos, mi problema es el siguiente yo tengo una tabla en la cual tengo unos clientes, y tengo otra ...
  #1 (permalink)  
Antiguo 16/11/2008, 15:15
 
Fecha de Ingreso: mayo-2008
Ubicación: Sevilla - España
Mensajes: 140
Antigüedad: 16 años
Puntos: 1
problemas al meter un count en un select que une dos tablas

buenas, de antemano muchas gracias a todos, mi problema es el siguiente yo tengo una tabla en la cual tengo unos clientes, y tengo otra donde están los servicios que solicitan los clientes, yo necesito que una consulta me devuelva cual es el cliente que mas solicita servicios yo lo estoy haciendo así pero no me sale.
Código PHP:
 $consulta mysql_query("select clientes.cedula,clientes.nombre,clientes.apellido,clientes.sexo,clientes.direccion,clientes.telefono,clientes.tipoCliente,clientes.nit, count(servicios.cedulaCliente) FROM clientes,servicios where clientes.cedula=servicios.cedulaCliente ",$this->getConexion());
 while(
$row mysql_fetch_row($consulta)){
   for(
$j=0;$j<mysql_num_fields($consulta);$j++){
          
$vector1[$c]=$row[$j];
          
//echo $vector[$c];
         
$c++;
    }
   } 
ese select no me sirve ocmo hago para meter el count ahi porfa quien me puede ayudar!! gracias
la idea
  #2 (permalink)  
Antiguo 16/11/2008, 17:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problemas al meter un count en un select que une dos tablas

No se puee usar funciones agregadas (como es el caso de COUNT()), sin realizar un agrupamiento, es decir un GROUP BY.
La condición fundamental es que el GROUP BY se puede realizar con cualquier campo del conjunto selección, menos el COUNT() mismo.
Lo que tienes que hacer es agrupar los resultados por el conjunto de campo sque quieras contar en donde los valores sean iguales siempre. En tiu caso, si cedula nunca se repite, entonces debes agrupar con ese campo. Eso te devolverá un registro por cada cedula distinta, y contará la cantidad de registros que conienen la misma cedula.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 16/11/2008, 20:19
 
Fecha de Ingreso: mayo-2008
Ubicación: Sevilla - España
Mensajes: 140
Antigüedad: 16 años
Puntos: 1
Respuesta: problemas al meter un count en un select que une dos tablas

Parcero muchas gracias si me salio graciasss
  #4 (permalink)  
Antiguo 17/11/2008, 16:00
 
Fecha de Ingreso: mayo-2008
Ubicación: Sevilla - España
Mensajes: 140
Antigüedad: 16 años
Puntos: 1
Respuesta: problemas al meter un count en un select que une dos tablas

Resulto otro problema, necesito poder organizar los datos de esa consulta dependiendo el numero de registros que devuelva el count de forma ascendente com puedo hacer eso?
  #5 (permalink)  
Antiguo 17/11/2008, 18:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problemas al meter un count en un select que une dos tablas

Con el ORDER BY, que debe siempre colocarse como última cláusula. En ese caso sí puede hacerse un ordenamiento por el COUNT(), sea en forma ascendente o descendente.
Para que no te genere problemas es mejor que al resultado del COUNT() le pongas un alias y pidas que se ordene por ese alias.
Por caso:
Código sql:
Ver original
  1. SELECT a, b, c, COUNT(f) d
  2. FROM Tabla1
  3. GROUP BY a, b
  4. ORDER BY d;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 17/11/2008, 19:19
 
Fecha de Ingreso: mayo-2008
Ubicación: Sevilla - España
Mensajes: 140
Antigüedad: 16 años
Puntos: 1
Respuesta: problemas al meter un count en un select que une dos tablas

Muchisimas gracias me han sido de gran ayuda!!
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:25.