UNION 的 MySql CONCATENATE 结果

标签 mysql sql union group-concat

我想从查询并集的结果中串联一个结果...我的代码是这样的:

SELECT GROUP_CONCAT(rifDoc), idUser, user, dateDoc
FROM
(
SELECT GROUP_CONCAT(CAR.rifDoc) AS rifDoc, CAR.idUser, CAR.user, CARDETT.dateDoc
FROM car AS CAR, carDett AS CARDETT 
WHERE CAR.id>0 CAR.id=CARDETT.idDoc CARDETT.dateDoc<='2017-01-31' 
GROUP BY idUser, dateDoc

UNION ALL

SELECT GROUP_CONCAT(BK.rifDoc) AS rifDoc, BK.idUser, BK.user, GROUP_CONCAT(BK.inUso) AS inUso, GROUP_CONCAT(BK.inCarico) AS inCarico, BKDETT.dateDoc
FROM bike AS BK, bikeDett AS BKDETT 
WHERE BK.id>0 AND BK.id=BKDETT.idDoc AND BKDETT.dateDoc<='2017-01-31' 
GROUP BY idUser, dateDoc
 )

GROUP BY idUser, dateDoc

但是我有这样的错误:

#1248 - Every derived table must have its own alias

有人有解决方案吗?

最佳答案

您缺少内联 View 或子查询的别名,因为错误状态如下

SELECT GROUP_CONCAT(rifDoc), idUser, `user`, dateDoc
FROM
(
SELECT GROUP_CONCAT(CAR.rifDoc) AS rifDoc, CAR.idUser, CAR.user, CARDETT.dateDoc
FROM car AS CAR, carDett AS CARDETT 
WHERE CAR.id>0 CAR.id=CARDETT.idDoc CARDETT.dateDoc<='2017-01-31' 
GROUP BY idUser, dateDoc

UNION ALL

SELECT GROUP_CONCAT(BK.rifDoc) AS rifDoc, BK.idUser, BK.user, GROUP_CONCAT(BK.inUso) AS inUso, GROUP_CONCAT(BK.inCarico) AS inCarico, BKDETT.dateDoc
FROM bike AS BK, bikeDett AS BKDETT 
WHERE BK.id>0 AND BK.id=BKDETT.idDoc AND BKDETT.dateDoc<='2017-01-31' 
GROUP BY idUser, dateDoc
 ) XXX     <--- here

关于UNION 的 MySql CONCATENATE 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41443352/

相关文章:

sql - 使用 Microsoft Access SQL 将多个列中的数据合并到单个列中

union - 两种语言的交集是什么?

MySQL 使用另一个表中的列名

mysql - VB.NET MySQL fatal error 但数据库接受输入

sql - 如何将单元格中的 CSV 值转换为行并取消透视?

sql - 一个查询而不是四个 - 这可能吗?

mysql - 如何在同一选择查询中将一个表的值交换到另一个表的值?

mysql - Rails where 子句将整数与数组匹配

sql - 使用一个查询插入多行

mysql - SQL - 获取表一的所有行和行数