组连接派生表的结果

时间:2015-07-02 15:57:33

标签: mysql

我有一个查询,我在下面转载的广义版本:

SELECT TT.column FROM Table1 TT JOIN Table2 T USING (PRIMARYKEY) GROUP BY T.Date

我想获取此查询的输出 - 单个列输出,其中多个行按日期排序 - 并且组将其作为派生表在另一个查询中连接:

SELECT 
T.column2,
GROUP_CONCAT(
SELECT TT.column
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date) AS concat_output
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date

但是,这会在GROUP_CONCAT命令的行处返回错误。

关于如何使这项工作的想法?

编辑:详细说明我希望派生表工作的原因:

目前,在不使用GROUP_CONCAT的情况下,我获得了多行,看起来像

a
a
b
b
a 
a
c
c 
d
a

如果按照Mukesh的回答尝试GROUP_CONCAT,请使用DISTINCT我会得到以下内容,例如:a, b, c, d当我真正想要的时候a,b,a,c,d,a

思想?

1 个答案:

答案 0 :(得分:2)

尝试此查询

SELECT 
T.column2,
GROUP_CONCAT(
 DISTINCT TT.column
) AS concat_output
FROM Table1 TT
JOIN Table2 T USING (PRIMARYKEY)
GROUP BY T.Date

更多详细信息,请参阅此链接

http://www.mysqltutorial.org/mysql-group_concat/