Hello all,
I have 2 tables locations and user_tracker:

locations has 2 columns
location_name
location_geometry

user_tracker has 3 columns
user_name
user_geometry
user_timestamp


locations table is coordinates and names of areas of interest.
user_tracker basically is an archive of a user's movements as he pans his map.

I have a need to assign a ranking of locations based on how many times users 
have intersected this location.

The problem I am having is that my query only returns locations that have been 
intersected by a user.
I need it to return ALL locations and a zero if this location has not been 
intersected.

As an example:

LOCATIONS
1: Talahassee, FL | talahassee's bounding box
2: Manhattan, NY  | Manhattan's bounding box
3: Frankfurt, GE    | Frankfurt's bounding box


USER_TRACKER
john doe     | geometry that overlaps Frankfurt  | today
john doe     | geometry that overlaps Frankfurt  | today
john doe     | geometry that overlaps Frankfurt  | today
john doe     | geometry that overlaps Frankfurt  | yesterday
john doe     | geometry that overlaps Frankfurt  | Monday
john doe     | geometry that overlaps Frankfurt  | Sunday
Mary Jane  | geometry that overlaps Manhattan  | today
Rob Roy    | geometry that overlaps Manhattan  | today
Rob Roy    | geometry that overlaps Manhattan  | today


I want to return the following:
locations    |  number_visits
Frankfurt    |  6
Manhattan  |  3
Talahassee |  0

My query only returns:
Frankfurt    |  6
Manhattan  | 3

Now I have really simplified this example for readability, my actual tables are 
more complex.

How can I accomplish this?

My query:
SELECT count(user_name) as number_visits, location_name from locations, 
user_tracker WHERE user_geometry && location_geometry

Thanks in advance


      

Reply via email to