PHP - Count (*) con Left Join

   
Vista:

Count (*) con Left Join

Publicado por unexes (124 intervenciones) el 12/03/2014 13:02:09
Hola me he dado cuenta de un error al contar en mi página y he buscado como solucionarlo pero no veo donde esta el fallo.

Tengo 2 tablas, la primera se llama actividades y la segunda clientes:

La primera (actividades) tiene los siguientes campos:
1
2
3
4
5
idActividad-----NomActividad----- Activacion---- Actividad
-------------------------------------------------------------------------------
-----1-----------Neumaticos------------1------------Neumaticos
-----2-----------Peluquerias-----------1------------Peluquerias
etc...
La segunda (clientes) tiene los siguientes campos:
1
2
3
4
5
6
Id-------Activación--------Actividades-----------Actividades2-----Url
------------------------------------------------------------------------------------
1------------1-------------Neumaticos------------Carroceria-------http: etc..
2------------1-------------Neumaticos------------Chapa------------http: etc..
3------------1-------------Carroceria------------Neumaticos-------http: etc..
4------------1-------------Peluquerias----------------------------http: etc..
Si funcionara bien al contar, el resultado deberia ser:
1
2
3
4
3 Neumaticos
2 Carroceria
1 Chapa
1 Peluquerias
y lo que me da es un resultado erroneo:
1
2
3
4
2 Neumaticos
1 Carroceria
1 Chapa
1 Peluquerias
El código que utilizo es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
	$tablaactividad = mysql_query ("SELECT a.Activacion, a.Actividad, a.Url, a.NomActividad, count(*) as Total FROM actividades a LEFT JOIN clientes c1 ON a.Actividad = c1.Actividades LEFT JOIN clientes c2 ON a.Actividad = c2.Actividades2 Where a.Activacion = '1' GROUP BY a.Actividad ASC");
 
	while ($registroactividad = mysql_fetch_array($tablaactividad)) {
?>
              <tr>
              <td height="20"><img src="Imagenes/arrow_200.gif" width="10" height="7"></td>
              <td bgcolor="#FFFFFF" onMouseOver='this.style.background="#000000"' onmouseout='this.style.background="#FFFFFF"'><a href="<?php echo $registroactividad['Url']; ?>?Actividad=<?php echo $registroactividad['Actividad']; ?>"><?php echo $registroactividad['Total']; ?>&nbsp;&nbsp;<?php echo $registroactividad['NomActividad']; ?></a></td>
              </tr>
<?php
	} // termina la zona de repeticion
	mysql_free_result($tablaactividad); // se libera la memoria usada por la tabla
?>
Donde esta el problema, Gracias a tod@s
.
P.D.: Cuando pulso me va correctamente a la (Url) y me muestra correctamente todos los que tienen esa actividad, por ejemplo si pulso sobre Neumaticos me muestra los 3 clientes que tienen puesto Neumaticos aunque me indique erroneamente (2 Neumaticos).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder