你还没有提到你想从这个请求中得到什么以及它的用途。你应该澄清这一点,以获得最准确的答案。
无论如何,如果要编写纯SQL请求,则不能使用WP\\U查询,但需要使用$wpdb->get_results
相反,正如@hadimahoor所提到的。这里有一个请求,要求获得所有医生的名单及其所在位置。
global $wpdb;
// Pure SQL
$sql = $wpdb->prepare("SELECT p.ID, post_title as doctor, p2.ID as location_id, p2.post_title as location
FROM {$wpdb->prefix}posts p
INNER JOIN {$wpdb->prefix}postmeta m ON m.post_id = p.ID AND m.meta_key = \'location\'
INNER JOIN {$wpdb->prefix}posts p2 ON p2.ID = m.meta_value
WHERE p.post_status = \'publish\' AND ...");
$doctors = $wpdb->get_results($sql);
下面是按位置获取医生列表的最简单解决方案:
// Get doctors by location
$doctors = get_posts([
\'post_type\' => \'doctors\',
\'meta_key\' => \'location\',
\'meta_value\' => $location_id
]);