Index: wp-admin/export.php
===================================================================
--- wp-admin/export.php	(revision 15305)
+++ wp-admin/export.php	(working copy)
@@ -99,9 +99,10 @@
 <select name="author" id="author">
 <option value="all" selected="selected"><?php _e('All Authors'); ?></option>
 <?php
-$authors = $wpdb->get_results( "SELECT DISTINCT u.id, u.display_name FROM $wpdb->users u INNER JOIN $wpdb->posts p WHERE u.id = p.post_author ORDER BY u.display_name" );
-foreach ( (array) $authors as $author ) {
-	echo "<option value='{$author->id}'>{$author->display_name}</option>\n";
+$authors = $wpdb->get_col( "SELECT post_author FROM $wpdb->posts GROUP BY post_author" );
+foreach ( $authors as $id ) {
+	$o = get_userdata( $id );
+	echo "<option value='" . esc_attr($o->ID) . "'>$o->display_name</option>";
 }
 ?>
 </select>
@@ -146,4 +147,4 @@
 
 
 include ('admin-footer.php');
-?>
+?>
\ No newline at end of file
Index: wp-admin/includes/export.php
===================================================================
--- wp-admin/includes/export.php	(revision 15305)
+++ wp-admin/includes/export.php	(working copy)
@@ -62,18 +62,20 @@
 		$where .= $wpdb->prepare( "AND post_date < %s ", $end_date );
 
 	if ( $taxonomy && is_array( $taxonomy ) ) {
-		foreach ( $taxonomy as $term_id ) {
-			if ( $term_id != 'all' )
-				$where .= $wpdb->prepare( "AND ID IN (SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d) ", $term_id );
+		$post_ids_from_taxonomies  = array();
+		foreach ( $taxonomy as $tax => $term_id ) {
+			if ( $term_id != 'all' ) 
+				$post_ids_from_taxonomies = array_merge( $post_ids_from_taxonomies, get_objects_in_term( $term_id, $tax ) );
 		}
 	}
-
 	if ( $post_status && $post_status != 'all' )
 		$where .= $wpdb->prepare( "AND post_status = %s", $status );
 
 	// grab a snapshot of post IDs, just in case it changes during the export
 	$post_ids = $wpdb->get_col( "SELECT ID FROM $wpdb->posts $where ORDER BY post_date_gmt ASC" );
-
+	if ( !empty( $post_ids_from_taxonomies ) )
+		$post_ids = array_intersect( $post_ids_from_taxonomies, $post_ids );
+		
 	$categories = (array) get_categories( array( 'get' => 'all' ) );
 	$tags = (array) get_tags( array( 'get' => 'all' ) );
 
@@ -330,7 +332,7 @@
 	while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) {
 	$where = "WHERE ID IN (" . join( ',', $next_posts ) . ")";
 	$posts = $wpdb->get_results( "SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt ASC" );
-
+	
 	// Begin Loop
 	foreach ($posts as $post) {
 	setup_postdata( $post );
@@ -406,4 +408,4 @@
 <?php
 }
 
-?>
+?>
\ No newline at end of file
