Comunidad de diseño web y desarrollo en internet online

Consulta mysql con php

Citar            
MensajeEscrito el 19 Jun 2014 08:49 am
Tengo que hacer una consulta utilizando datos de 3 tablas distintas pero no lo consigo, quizás alguien me pueda echar una mano.

Las tablas son:

Tabla1: instalaciones

id
id_tinst
id_cliente
anio
direccion
localidad
cp
provincia
nombre


Tabla2: contadores

id
id_instalacion
id_tcontador
id_impex
notas
coeficiente
numserie


Tabla3: lecturas

id
id_contador
fecha
lectura


Lo que quiero listar la dirección de las instalaciones cuyos contadores no tengan lectura en un rango de fechas determinado.

Muchas gracias.

Por miguel215

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jun 2014 12:28 pm
Investiga "Teoría de conjuntos".

Como por ejemplo esta.

Saludos!

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 19 Jun 2014 01:56 pm
Me pongo con ello, muchas gracias.

Por miguel215

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jun 2014 04:52 pm
Gracias por tu respuesta.

He estado probando con algo así:

Código PHP :

    $fecha_actual = date("Y-m-d");
    $busqueda= "select distinct id_contador from lecturas where fecha>2014-05-15";
    $result = mysql_query($busqueda);
     
    while($row1 = mysql_fetch_assoc($result)){
    $var=$row1['id_contador'];
    $busqueda2= "select distinct id_inst from contadores where id=$var";
    $result2 = mysql_query($busqueda2);
    while($row2 = mysql_fetch_assoc($result2)){
    $var2=$row2['id_inst'];
    $busqueda3= "select distinct direccion from instalaciones where id=$var2";
    $result3 = mysql_query($busqueda3);
    while($row3 = mysql_fetch_array($result3)){
    echo $row3['direccion']."</br>";
    }
    }
    } 


El problema es que como una instalación (dirección) puede tener asociado más de un contador, esto me lista una misma dirección muchas veces repetida. No veo como hacer que sólo me liste una vez cada dirección igual.

Por miguel215

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jun 2014 04:57 pm
Sigo probando...

Intento meter en un array el resultado para después borrar los duplicados, pero
sólo me sale la palabra Array.

Código PHP :

   $fecha_actual = date("Y-m-d");
   $busqueda= "select distinct id_contador from lecturas where fecha>2014-05-15";
   $result = mysql_query($busqueda);
    $array=array();
   while($row1 = mysql_fetch_assoc($result)){
   $var=$row1['id_contador'];
   $busqueda2= "select distinct id_inst from contadores where id=$var";
   $result2 = mysql_query($busqueda2);
   while($row2 = mysql_fetch_assoc($result2)){
   $var2=$row2['id_inst'];
   $busqueda3= "select distinct direccion from instalaciones where id=$var2";
   $result3 = mysql_query($busqueda3);
   while($row3 = mysql_fetch_array($result3)){
   $array[] = $row3;
   
   //printf("DIRECCION: %s" , $row3[0]);    
    //echo "</br>";
   }
   }
   }   

$array_valores_unicos = array_unique($array);
   foreach($array_valores_unicos as $value) 
   echo $value . "<br/>"; 

Por miguel215

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jun 2014 08:01 pm
Intenta resolverlo en una sola consulta.
Usa los JOIN y GROUP.

Saludos!

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.