Get data from 3rd table

I simplified your query, but wouldn’t something like this accomplish it?

SELECT *
FROM $wpdb->posts AS p
LEFT JOIN $wpdb->postmeta AS pm
    ON p.ID = pm.post_id
LEFT JOIN users AS u
    ON pm.meta_value = u.user_id
WHERE pm.meta_key = 'user_id'
    AND post_status="publish"
ORDER BY p.ID DESC
LIMIT 50;