SELECT `wp_emu_theme_contact_page`.`firstName` , `wp_emu_theme_contact_page`.`city` , `wp_emu_theme_contact_page`.`state` , `wp_posts`.`post_content` , `wp_posts`.`post_date` , `wp_posts`.`post_type` , `wp_posts`.`ID` , `wp_emu_theme_testimonials`.`permission` , `wp_emu_theme_testimonials`.`userID` , `wp_users`.`user_login` , `wp_usermeta`.`meta_value` FROM `wp_emu_theme_testimonials` INNER JOIN `wp_emu_theme_contact_page` ON (`wp_emu_theme_testimonials`.`contactID` = `wp_emu_theme_contact_page`.`dbID`) INNER JOIN `wp_posts` ON (`wp_emu_theme_testimonials`.`postID` = `wp_posts`.`ID`) LEFT JOIN `wp_users` ON (`wp_emu_theme_testimonials`.`userID` = `wp_users`.`ID`) INNER JOIN `wp_usermeta` ON (`wp_usermeta`.`user_id` = `wp_users`.`ID`) WHERE (`wp_posts`.`post_type` ='testimonial' AND `wp_usermeta`.`meta_key` ='facebook_uid') OR (`wp_usermeta`.`meta_key` = 'null');
问题在于表wp_usermeta可能没有meta_key =’facebook_uid’。在这种情况下,我没有收到这些条目。我想得到所有其他东西,即使那meta_key还不存在user_id。如果可以,那就太好了。如果我取出与该表有关的部分,此查询将按预期工作。我试过没有OR。我正在使用mysql。
wp_usermeta
meta_key
user_id
听起来您想使用它LEFT JOIN并使其成为条件部分ON:
LEFT JOIN
ON
LEFT JOIN `wp_usermeta` ON (`wp_usermeta`.`user_id` = `wp_users`.`ID` AND `wp_usermeta`.`meta_key` ='facebook_uid')