一个行内选配不同的价值(Matching Different Value within One Ro

2019-10-17 08:15发布

我想借此我要检查是否在列A具有一定的任意值来进行查询。 一个只能有X,X和Y或XY和Z的组合

为了提供更好的理解。 我检查表本身内的书的作者。 该表具有BOOK_ID,BOOK_TITLE,AUTHOR_NAME,AUTHOR_ORDER。

所以,一本书可能有1,2或3的作者,为了在AUTHOR_ORDER行里面写上市。 我想很难达到的输出,其中如果一本书有3个作者,这将相应地从第一作者第三作者显示。 我现在卡在哪里,我需要比较值和输出呈现它的一部分。

任何想法如何在MYSQL输出实现这一目标?

示例:

输出结果是或多或少是这样的:

如果标题已au_ord的1,2和3,应与上升中列出的所有作者名称的新列。

因此,例如,对于标题BU1032,作者行会班纳特,绿

Answer 1:

我想GROUP_CONCAT是你所追求的:

SELECT  Title_ID, 
        Title,
        GROUP_CONCAT(au_LName ORDER BY au_Ord) AS Authors
FROM    Books
GROUP BY Title_ID, Title;

SQL FIDDLE



文章来源: Matching Different Value within One Row
标签: mysql sql mysqli