Index: modules/views_taxonomy.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/views_taxonomy.inc,v
retrieving revision 1.27.2.7
diff -u -r1.27.2.7 views_taxonomy.inc
--- modules/views_taxonomy.inc	6 Mar 2007 21:44:32 -0000	1.27.2.7
+++ modules/views_taxonomy.inc	7 Mar 2007 21:37:33 -0000
@@ -512,13 +512,15 @@
     $clause = "'" . implode("','", $value) . "'";
     $where = "$tablename.tid IN ($clause)";
 
-    // for each depth > 0, add the next parent in term_hierarchy to the join
-    $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'tid'), 'right' => array('field' => 'tid')));
-    $tablename = $query->get_table_name('term_hierarchy', $thnum);
-    for ($i = 0; $i < $depth; $i++) {
-      $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'parent'), 'right' => array('field' => 'tid')));
+    if ($depth > 0) {
+      // for each depth > 0, add the next parent in term_hierarchy to the join
+      $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'tid', 'alias' => ''), 'right' => array('field' => 'tid')));
       $tablename = $query->get_table_name('term_hierarchy', $thnum);
-      $where .= " OR $tablename.tid IN ($clause)";
+      for ($i = 0; $i < $depth; $i++) {
+        $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'parent', 'alias' => ''), 'right' => array('field' => 'tid')));
+        $tablename = $query->get_table_name('term_hierarchy', $thnum);
+        $where .= " OR $tablename.tid IN ($clause)";
+      }
     }
     $query->add_where($where);
   }
@@ -537,14 +539,16 @@
       $num = $query->add_table('term_node');
       $tablename = $query->get_table_name('term_node', $num);
       $where = "$tablename.tid = '$tid'";
-
-      // for each depth > 0, add the next parent in term_hierarchy to the join
-      $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'tid'), 'right' => array('field' => 'tid')));
-      $tablename = $query->get_table_name('term_hierarchy', $thnum);
-      for ($i = 0; $i < $depth; $i++) {
-        $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'parent'), 'right' => array('field' => 'tid')));
+      
+      if ($depth > 0) {
+        // for each depth > 0, add the next parent in term_hierarchy to the join
+        $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'tid', 'alias' => ''), 'right' => array('field' => 'tid')));
         $tablename = $query->get_table_name('term_hierarchy', $thnum);
-        $where .= " OR $tablename.tid = '$tid'";
+        for ($i = 0; $i < $depth; $i++) {
+          $thnum = $query->add_table('term_hierarchy', false, 1, array('left' => array('table' => $tablename, 'field' => 'parent', 'alias' => ''), 'right' => array('field' => 'tid')));
+          $tablename = $query->get_table_name('term_hierarchy', $thnum);
+          $where .= " OR $tablename.tid = '$tid'";
+        }
       }
       $query->add_where($where);
     }
@@ -560,7 +564,7 @@
   if ($op == 'OR' || $op == 'NOR') {
     $num = $query->add_table('term_node');
     $tablename1 = $query->get_table_name('term_node', $num);
-    $joininfo = array('left' => array('table' => $tablename1, 'field' => 'tid'), 'right' => array('field' => 'tid'));
+    $joininfo = array('left' => array('table' => $tablename1, 'field' => 'tid', 'alias' => ''), 'right' => array('field' => 'tid'));
     $joininfo['extra'] = array('vid' => $value);
     $num = $query->add_table('term_data', false, 1, $joininfo);
     $tablename2 = $query->get_table_name('term_data', $num);
@@ -577,7 +581,7 @@
       // For every vocabulary we have to match, add a views_get_title table
       $num = $query->add_table('term_node');
       $tablename = $query->get_table_name('term_node', $num);
-      $num = $query->add_table('term_data', false, 1, array('left' => array('table' => $tablename, 'field' => 'tid'), 'right' => array('field' => 'tid')));
+      $num = $query->add_table('term_data', false, 1, array('left' => array('table' => $tablename, 'field' => 'tid', 'alias' => ''), 'right' => array('field' => 'tid')));
       $tablename = $query->get_table_name('term_data', $num);
       $query->add_where("$tablename.vid = '$vid'");
     }
