Mysql col查询结果中存在重复字段
我有3张桌子,上面有书、作者和流派 我希望得到的输出结果是:book、author和genres,但当我进行此查询时,我有重复的字段,如果图书在示例中有5种类型(查询结果的第一行),author行也会重复5或相反 以下是关于SQL FIDLE的示例: 我需要在第一排: 书|一作者|五种体裁 ...Mysql col查询结果中存在重复字段,mysql,sql,Mysql,Sql,我有3张桌子,上面有书、作者和流派 我希望得到的输出结果是:book、author和genres,但当我进行此查询时,我有重复的字段,如果图书在示例中有5种类型(查询结果的第一行),author行也会重复5或相反 以下是关于SQL FIDLE的示例: 我需要在第一排: 书|一作者|五种体裁 ... 等等。你应该重新考虑你的模式。我想分享一些想法: (我知道这并不能回答您的问题,但请相信我:从一开始就使用良好的模式可以节省您以后的大量工作) 在books表中,使用author.id作为外键。否则
等等。你应该重新考虑你的模式。我想分享一些想法: (我知道这并不能回答您的问题,但请相信我:从一开始就使用良好的模式可以节省您以后的大量工作)
author.id
作为外键。否则,一旦您得到重复的名称(这是可能的),您就会遇到麻烦。加入这些表格也将变得更加容易若要获得所需内容,请将DISTINCT添加到第4行,这样就不会有任何重复项。但是,您仍然可以返回多个author(unique),但这就是您的查询应该返回的方式 比如:
group_concat(DISTINCT concat_ws (' ',`a`.`last_name`,`a`.`first_name`,`a`.`middle_name`)) as author,
MySQL DISTINCT运算符使用SELECT语句消除结果集中的重复行