Это зависит от структуры вашей базы данных и данных, которые фактически хранятся в базе данных. По внешнему виду запроса я не уверен, что результат, который вам нужен, возможен.
Я думаю, проблема в том, что вы выбираете user.login из таблицы пользователя, это всегда будет существовать, потому что, если это не так, запрос не возвращает никаких результатов вообще (то есть, соединение зависит от пользователя .login, содержащий запись). Даже если вы попытались использовать другие методы JOIN, я думаю, что вы всегда получите возврат user.login. Если вы попытаетесь изменить запрос, чтобы вместо этого вы искали book.author, это будет иметь тот же эффект, поскольку запрос зависит от того, что user.login и book.author одинаковы.
Там очень хорошо может быть кто-то, у которого гораздо больше опыта работы с SQL, который может дать ответ, но, насколько мне известно, имя всегда будет возвращено.
Возможно, если вы дадите некоторое представление о том, что еще происходит, мы можем предложить альтернативу.
TL; DR: Поскольку user.login и book.author одинаковы, невозможно получить желаемый результат.
Имеет письменную книгу peter2? У книги 2 есть автор? Не отличается ли автор книги2 к peter? Требуется немного больше информации. –
Возможно, отправьте пример данных из двух таблиц. –