Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2016, 16:03
lexer
 
Fecha de Ingreso: mayo-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Query Anidado

Hola

Estoy tratando de hacer dos queries uno dentro del otro, el segundo query2 lo hago de acuerdo a la obtenido en el query 1 (primer query) la idea es filtrar los registros con el query 1 en query 2, y dentro del query 2 sumar cada columna por separado (campo).

Tengo dos tablas:
Tabla 1 llamada "tipollamada" con un solo campo y 3 registros:
CALLSACCEPTED
CallAnswer
ABANDONEDNO


Tabla 2 llamada "registroreport2" con 3 campos: "CALLSACCEPTED", "CallAnswer" y "ABANDONEDNO", la data que tiene cada campo es:
CALLSACCEPTED CallAnswer ABANDONEDNO
3 2 1
4 2 2


Este el programa que estoy tratando de hacer:

Código:
	//Hago Query1 de tabla tipodedestino 
	$query1 = "SELECT tipollamadaE ".
	 "FROM tipollamada ";
	 "ORDER BY tipollamada DESC ";
	$result1 = mysql_query($query1) or die(mysql_error());	
		
		while($row1 = mysql_fetch_array($result1))
	{

	//Query2 pedir cada columna y sumarla individualmente
	$query2 = "SELECT tipollamada.tipollamadaE, registroreport2.CALLSACCEPTED, registroreport2.CallAnswer, registroreport2.ABANDONEDNO ";
	$result2 = mysql_query($query2) or die(mysql_error());	
	
	while($row2 = mysql_fetch_array($result2))
	{
                        //Entrar a sumar CALLSACCEPTED               
                         if ($row1['tipollamadaE']=="CALLSACCEPTED")
			{
				//Sumar Llamadas Accepted
				$Suma1=$Suma1+$row2['CALLSACCEPTED'];
				
			}
                      //Entrar a sumar CallAnswer 
                      if ($row1['tipollamadaE']=="CallAnswer")
			{
				//Sumar CallAnswer
				$Suma2=$Suma2+$row2['CallAnswer'];
                          }
                       //Entrar a sumar ABANDONEDNO 
                      if ($row1['tipollamadaE']=="ABANDONEDNO")
			{
				//Sumar ABANDONEDNO
				$Suma3=$Suma3+$row2['ABANDONEDNO'];
                          }	
			
			
		} //Termina Segundo QUery
		

}//Termina Primer QUery

echo $Suma1;
echo "-";
echo $Suma2;
echo "-";
echo $Suma3;
echo "-";

Obtengo los resultados de la suma pero multiplicado por 3, es decir el query 1 se hacer 3 veces y obtiene 3 veces las sumas, y eso esta mal. Deberia el query 1 por ejemplo seleccionar el campo "CALLSACCEPTED" en tabla 1 y con este dato traer solo los registros que coinciden en el query 2 , la suma deberia dar $Suma1=7, $Suma2=4 y $Suma3=3}

Gracias de Antemano!!