How do I avoid duplication in a view result?
If Views' distinct parameter doesn't work for your case, you can always use a views_pre_render() hook to do anything with the result before it is rendered.  Something along the lines of...

YOURMODULE_views_pre_render(&amp;$view) {

  if ($view-&gt;name=='NAMEOFVIEW') {

    // drupal_set_message('&lt;pre&gt;' . print_r($view-&gt;result, TRUE) . '&lt;/pre&gt;');

    $states_found=array();

    foreach($view-&gt;result as $delta =&gt; $row) {

      if (in_array($row-&gt;LOCATION_FIELD_NAME_VALUE, $states_found)) {
        unset($view-&gt;result[$delta]);
      } else {
        $states_found[]=$row-&gt;LOCATION_FIELD_NAME_VALUE;
      }

    }

  }

  // any other pre_render()ing here...

}


What this does is loop through the rows of your view result keeping track of what states have been found and unsetting any duplicates.  The commented out dsm at the beginning will help you figure out what LOCATION_FIELD_NAME_VALUE you need to use in your specific case.