Index: /branches/release-40/lib/MT/ObjectDriver/SQL/SQLite.pm
===================================================================
--- /branches/release-40/lib/MT/ObjectDriver/SQL/SQLite.pm (revision 1174)
+++ /branches/release-40/lib/MT/ObjectDriver/SQL/SQLite.pm (revision 2625)
@@ -30,7 +30,9 @@
     my $cd  = delete $stmt->{count_distinct};
     my ($col) = each %$cd;
+    my @select = @{$stmt->select};
     $stmt->select([$col]);
     my $class = ref $stmt;
     my $main_stmt = $class->new;
+    $main_stmt->select(\@select);
     $main_stmt->from_stmt($stmt);
     $main_stmt->as_sql(@_);
Index: /branches/release-40/lib/MT/ObjectDriver/Driver/DBI.pm
===================================================================
--- /branches/release-40/lib/MT/ObjectDriver/Driver/DBI.pm (revision 2548)
+++ /branches/release-40/lib/MT/ObjectDriver/Driver/DBI.pm (revision 2625)
@@ -257,5 +257,8 @@
     }
     $stmt->select([]);
-    my $sql = "SELECT $select\n" . $stmt->as_sql;
+    $stmt->select_map({});
+    $stmt->select_map_reverse({});
+    $stmt->add_select($select => $select);
+    my $sql = $stmt->as_sql;
     $driver->select_one($sql, $stmt->bind);
 }
