@furyon

Как получить строки из JOIN если указан DISTINCT в PostgreSQL?

Здравствуйте!
Допустим:
1. Есть тиблица книг books с полями: id, book_name;
2. Есть таблица авторов authors с полями: id, book_id, author_name.
3. У книги может быть несколько авторов.

Нужно получить допустим 10 книг и авторов к ним.
Делаю запрос чтото вроде:
SELECT DISTINCT * FROM books INNER JOIN authors ON (books.id=authors.book_id) LIMIT 10


Получу книги и по одному автору, а нужно всех авторов, возможно ли это сделать одним запросом без дополнительных по каждой книге?
Даже не знаю как такое гуглить.

Спасибо!
  • Вопрос задан
  • 438 просмотров
Решения вопроса 1
Лучше, конечно, разбить это на два запроса: книги и авторы всех выбранных книг через book_id IN (x, y, z).
То, что вы хотите, можно сделать одним сложным запросом, но для каждого автора будет дублироваться информация о книге - зачем гонять лишнее по сети?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы