Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2013, 22:20
SamuraiBlanco
 
Fecha de Ingreso: marzo-2010
Ubicación: Mérida, Venezula
Mensajes: 73
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Presentación de una consulta Mysql

Saludos Muchachos, tengo esta consulta en una relación uno a muchos.

Código MySQL:
Ver original
  1. SELECT historico_demanda_producto.id_producto_terminado, historico_demanda_producto.id_historico_demanda_producto, historico_demanda_producto.cantidad_demandada_hdp
  2. FROM producto_terminado
  3. LEFT JOIN historico_demanda_producto ON producto_terminado.id_producto_terminado = historico_demanda_producto.id_producto_terminado
  4. WHERE producto_terminado.id_producto =  '4'

Que me da como resultado la siguiente salida,

Código:
id_producto_terminado	total_producido   id_historico_demanda_producto	cantidad_demandada_hdp
	1	           1	          	56           5
	1	          2	          	56          51
	2	          3	                56         29
	2	          4	          	56          10
	2	          5	          	56          10
	2	          6	          	56         7
	3	          7	          	56          56
	4	          8	          	56          37
	4	          9	          	56          19
	5	          10	          	56          1
	NULL		          NULL		          NULL

Si se fijan, se entiende que cada uno de los registros de producto terminado tiene varias coincidencias en cantidad_demandada lo que quisiera es que me quede más o menos así.

Código:
id_producto_terminado	total_producido   id_historico_demanda_producto	cantidad_demandada_hdp
	1	           -	          	56           
	1	           1	          	-             5
	1	          2	          	-             51
	2	          -	                56         
	2	          3	                -             29
	2	          4	          	-             10
	2	          5	          	-             10
       2	          6	          	             7
	NULL		          NULL		          NULL
Es decir, que se muestren solo las coincidencias de total producido como entradas, mientras que las de demada de producto queden como salidas. Tengo varias horas dandole vueltas y no veo la solución, si me pueden aconsejar en como modificar la consulta para hacerme la vida más fácil o ordenar la data con php para presentarla se los agradezco.


Tengo este código, pero OBVIAMENTE estoy haciendo algo mal
Código PHP:
Ver original
  1. $bandera=false;
  2.         $array_ordenado=array();
  3.         $contador=0;
  4.        
  5.         for($i=0;$i<count($lista);$i++){
  6.             if($aux!=$lista[$i]["id_producto_terminado"] and $bandera==false){
  7.                 $aux=$lista[$i]["id_producto_terminado"];
  8.                 $array_ordenado[$contador]["id_producto_terminado"]=$lista[$i]["id_producto_terminado"];
  9.                 $array_ordenado[$contador]["cantidad_original_cajas_proter"]=$lista[$i]["cantidad_original_cajas_proter"];
  10.                 if($lista[$i]["id_historico_demanda_producto"]!=0 OR $lista[$i]["id_historico_demanda_producto"]!=NULL){
  11.                     $array_ordenado[$contador+1]["cantidad_demandada_hdp"]=$lista[$i]["cantidad_demandada_hdp"];
  12.                    
  13.                 }
  14.                
  15.             }
  16.            
  17.             if($aux==$lista[$i]["id_producto_terminado"]){
  18.                 echo "contador ". $contador. "<br>";
  19.                 $array_ordenado[$contador]["id_producto_terminado"]=$lista[$i]["id_producto_terminado"];
  20.                 $array_ordenado[$contador]["cantidad_original_cajas_proter"]=NULL;
  21.                 $array_ordenado[$contador]["cantidad_demandada_hdp"]=$lista[$i]["cantidad_demandada_hdp"];
  22.                
  23.                 var_dump($lista[$i]["id_historico_demanda_producto"]!=0);
  24.                 if($lista[$i]["id_historico_demanda_producto"]!=0){
  25.                     $array_ordenado[$contador+1]["cantidad_demandada_hdp"]=$lista[$i]["cantidad_demandada_hdp"];
  26.                     echo "entre";
  27.                 }
  28.                 $bandera=true;
  29.             }
  30.             $contador=$contador+1;
  31.         }

Sin más que decirles agradeciendo la ayuda que me puedan dar