我想执行查询,我想检查A列是否具有某些值。 A只能有X,X和Y或X Y和Z的组合。
为了更好地理解。我正在桌子内查看一本书的作者。该表包含BOOK_ID,BOOK_TITLE,AUTHOR_NAME,AUTHOR_ORDER。
因此,一本书可能有1,2或3位作者,按照AUTHOR_ORDER行内的顺序列出。我正在努力达到输出,如果一本书有3位作者,它将相应地显示从第一作者到第三作者。我现在陷入了需要比较值并在输出中显示它的部分。
知道如何在MYSQL输出中实现这个目标吗?
示例:
输出结果或多或少如下:
如果标题的au_ord为1,2和3,则应该有一个新列,所有作者姓名都以升序列出。
例如,对于标题BU1032,作者行将是Bennet,Green
答案 0 :(得分:2)
我认为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 强>