MySQL показывает дубликаты в столбце - PullRequest
1 голос
/ 12 июня 2011

Привет. Я пытаюсь написать запрос, чтобы получить информацию об авторе, названии, категории и носителе.Однако, поскольку элементы могут быть во многих средах и категориях, я получаю результаты, дублирующиеся в столбцах.Как я могу получить результаты, чтобы я не видел среду как книгу, книгу, книгу и категорию как Ужас, Фэнтези, Художественная литература.Я предполагаю, что мне понадобится какой-то подзапрос - если да, то как бы я это сделал?

SELECT book.bookid, book.author, book.title, group_concat(category.categorydesc), group_concat(medium.mediumdesc)
FROM book
Inner JOIN bookscategories ON book.bookid = bookscategories.bookid
Inner JOIN category ON bookscategories.categoryid = category.categoryid
Inner JOIN booksmediums ON book.bookid = booksmediums.bookid
Inner JOIN medium ON booksmediums.mediumid = medium.mediumid
GROUP BY book.bookid

Спасибо, Том

1 Ответ

3 голосов
/ 12 июня 2011

Итак, как указано в комментариях, решение состоит в том, чтобы добавить ключевое слово DISTINCT в инструкции GROUP_CONCAT () следующим образом:

... book.title, group_concat(DISTINCT category.categorydesc), group_concat(DISTINCT medium.mediumdesc) ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...