### Eclipse Workspace Patch 1.0
#P Drupal Modules
Index: views_or/views_or_handler_field.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views_or/views_or_handler_field.inc,v
retrieving revision 1.3
diff -u -r1.3 views_or_handler_field.inc
--- views_or/views_or_handler_field.inc	28 Apr 2009 19:01:55 -0000	1.3
+++ views_or/views_or_handler_field.inc	2 Jun 2010 13:22:56 -0000
@@ -99,10 +99,23 @@
       $coalesce = array();
       $alias = NULL;
       foreach ($fields as $field) {
-        $coalesce[] = "$field[table].$field[field]";
-        $alias = isset($alias) ? $alias : $field['alias'];
+        $coalesce[$field['field']]['coalesce'][] = "$field[table].$field[field]";
+        $coalesce[$field['field']]['alias'] = isset($alias) ? $alias : $field['alias'];
       }
-      $this->query->add_field(NULL, 'COALESCE('. implode(', ', $coalesce) .')', $alias);
+      // Add fields with the same name to their own COALESCE.
+      foreach ($coalesce as $field_name => $fields) {
+        if (count($fields['coalesce']) > 1) {
+          $this->query->add_field(NULL, 'COALESCE('. implode(', ', $fields['coalesce']) .')', $fields['alias']);
+          unset($coalesce[$field_name]);
+        }
+      }
+      // COALESCE the rest.
+      $coalesce_rest = array();
+      foreach ($coalesce as $field) {
+        $coalesce_rest[] = $field['coalesce'][0];
+        $alias = $field['alias'];
+      }
+      $this->query->add_field(NULL, 'COALESCE('. implode(', ', $coalesce_rest) .')', $alias);
     }
   }
 }
