Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/03/2012, 07:33
mumraa
 
Fecha de Ingreso: marzo-2012
Mensajes: 102
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: BD - Claves y relaciones

Hola calakra!
Esta es la consulta de la que te hablaba..

Código:
$fwk_query = mysql_query("SELECT campanias.idCamp, campanias.idCliente, campanias.titulo, campanias.mostrar,
	clientes.idCliente AS idTablaClientes, clientes.cliente, trabajos.idCamp, trabajos.titulo as titleTrabajo,
	COUNT(*) as cantidad
	FROM campanias
	LEFT JOIN trabajos ON campanias.idCamp = trabajos.idCamp
	INNER JOIN clientes ON campanias.idCliente = clientes.idCliente
	GROUP BY campanias.idCamp") or die(mysql_error());


while($my_camps = mysql_fetch_array($query)) {
echo "<div class='mostrar column centered'><input type='checkbox' id='nov_".$my_camps['idCamp']."' class='hideShow' value='1' ";
	if($my_camps['mostrar'] == 1): echo "checked "; endif;	
echo "/></div>";
echo '<div class="tituloCamp column">'.$my_camps["titulo"].'</div>';
if($my_camps["cantidad"] != null) {
	echo '<div class="qImagenCamp column">'.$my_camps["cantidad"].'</div>';
} else {
	echo '<div class="qImagenCamp column">0</div>';
}
echo '<div class="clienteCamp column">'.$my_camps["cliente"].'</div>';
}
Consultando a 3 tablas (campañas, clientes y trabajos) intento obtener:

- La campaña (su id, si se muestra o no, cliente asociado, titulo) junto con los trabajos que tenga asociados.
- En el caso de tener trabajos asociados, simplemente listar la cantidad que posee de ellos.

El inconveniente, es que con las consultas que vengo intentando, aquellas campañas que no tienen trabajos no aparecen, o bien, si lo hago como arriba "GROUP BY campanias.idCamp" me muestra todas y para las que no tienen trabajo me pone cantidad 1 al ser 1 idCamp el encontrado..

no se si se entiende, yo mismo ya estoy mareado..