Wygląda na to, że próbujesz pobrać kilka fragmentów danych z różnych wierszy w tej samej tabeli, co oznacza, że musisz wykonać więcej niż jedno połączenie. Czy to daje Ci to, czego szukasz?
$sql = "SELECT p.id, p.post_title, p.guid, p.post_type, m.meta_key, m.meta_value, meta_sp.meta_value as sale_price, meta_ap.meta_value as additional_price
FROM wp_posts p
INNER JOIN wp_postmeta m
INNER JOIN wp_postmeta meta_sp ON p.id=meta_sp.post_id
AND meta_sp.meta_key='sale_price'
INNER JOIN wp_postmeta meta_ap ON p.id=meta_ap.post_id
AND meta_ap.meta_key='additional_price'
WHERE p.id=m.post_id
AND m.meta_key='_rentable' AND m.meta_value='yes'
";