Forum Moderators: open
This query is working great:
SELECT *
FROM appraisers
INNER JOIN citylistings ON citylistings.zipid=appraisers.zipid
INNER JOIN appraiserinfo ON appraiserinfo.zipid=appraisers.zipid
WHERE ( ( ( citylistings.st = 'CA' ) AND ( citylistings.city = 'Los Angeles' )) ) AND ( ( ( appraiserinfo.licensestate = 'CA' ) ) )
ORDER BY citylistings.timelisted ASC
Now I want to get information from a fourth table, the localareas table, which has information about zipcodes i.e. zipcode, latitude, longitude. I need to retrieve the latitude and longitude for each appraisers zipcode and calculate their distance from a predetermined latitude and longitude, so I thought the following the would work:
SELECT *, acos(sin(localareas.latitude*0.01745329252)*sin(40.4192*0.01745329252) + cos(localareas.latitude*0.01745329252)*cos(40.4192*0.01745329252)*cos(localareas.longitude*0.01745329252 - -111.565*0.01745329252))*3958.75586 AS distance
FROM appraisers
INNER JOIN citylistings ON citylistings.zipid=appraisers.zipid
INNER JOIN appraiserinfo ON appraiserinfo.zipid=appraisers.zipid
INNER JOIN localareas ON localareas.zipcode=appraiserinfo.zip
WHERE ( ( ( citylistings.st = 'CA' ) AND ( citylistings.city = 'Los Angeles' )) ) AND ( ( ( appraiserinfo.licensestate = 'CA' ) ) )
ORDER BY distance
Unfortunately the query returns no rows. I'm clearly not understanding something about how joins operate. Would somebody care to enlighten me?