Вы неправильно используете условие JOIN:
SELECT `a`.*, `b`.`someField`
from `a` left join `b` on a.matchingField = b.matchingField
WHERE `a`.`userID` = '12345678'
Это способ сделать правильное соединение. У вас есть поле matchField, которое является связующим звеном между записями в одной таблице и в другой, а userID является условием фильтрации. Обратите внимание, что macthingField также может иметь тот же идентификатор пользователя. В этом случае:
SELECT `a`.*, `b`.`someField`
from `a` left join `b` on a.userID = b.userID
WHERE `a`.`userID` = '12345678'