MySQL在列中显示重复项

问题描述

| 嗨,我正在尝试编写查询获取有关作者,标题,类别和媒介的信息。 但是,由于这些项目可以有多种媒介和类别,因此我得到的结果在各列中显示为重复。我如何获得结果,所以我看不到“媒介”作为“书”,“书”,“书”和“类别”为“恐怖,幻想,小说”。我假设我将需要某种子查询-如果是这样,我该怎么做?
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
谢谢 汤姆     

解决方法

        因此,如注释中所述,解决方案是在DISPLAY_CONCAT()指令中添加DISTINCT关键字,如下所示:
... book.title,group_concat(DISTINCT category.categorydesc),group_concat(DISTINCT medium.mediumdesc) ...