Ämne: SQL och join
Visa ett inlägg
Oläst 2010-10-20, 15:38 #1
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
bassan bassan är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 84
Standard SQL och join

Jag har ett fungerande script som gör nästan samma sak, den såg ut såhär:
Kod:
   $num_rows = intval($_GET[num]);
      
   $query = "SELECT postnummer as zip,count(*) AS density 
               FROM postnummer
               GROUP BY postnummer 
               LIMIT 1500";
               
   $result = mysql_query($query);
   
   $zip_geo_data_string = file_get_contents('zip_geo_data.txt');
   $zip_geo_data = unserialize($zip_geo_data_string); 
   
   $points = array();
   
   while($row = mysql_fetch_array( $result )) {
      $row[zip] = str_replace(" ","", $row[zip]);
         $lat = $zip_geo_data[$row[zip]]['lat'];
         $lon = $zip_geo_data[$row[zip]]['lon'];
         
         array_push($points, array('zip'=>$row[zip], 'density' => $row[density],'lat' => $lat,'lon' => $lon));
      }
      echo json_encode(array("Locations" => $points));
      exit;

Nu vill jag ta bort matchningen från txt filen och istället matcha mot en databas.

Jag har två tabeller.

postnummer: id | postnummer
postnummer_tbl: zipcode | long | lat

Jag vill returnera alla 'postnummer' från "postnummer" som matchar med 'zipcode' i "postnummer_tbl", i fall det är flera 'postnummer' som är lika så vill jag endast ha en rad men även räkna ut hur många som är samma. = density. Sedan vill jag para ihop rätt postnummer med 'zipcode' och hämta ut long, lat och density och göra till json kod för att kunna plotta ut på karta.

Har testat bl.a:

Kod:
$query = "SELECT zipcode, `long`, lat FROM postnummer_tbl JOIN postnummer ON zipcode=postnummer";

Senast redigerad av bassan den 2010-10-20 klockan 16:28
bassan är inte uppkopplad   Svara med citatSvara med citat