MySQL:使用的SELECT语句错误

MySQL:使用的SELECT语句错误,mysql,Mysql,有人能解释一下为什么我的SQL语句有错误吗 (select group_concat(concat(column_name)) from information_schema.COLUMNS where table_name = '<table name>' and table_schema = '<dbname>' order by ORDINAL_POSITION) union all (select * from hars_retu

有人能解释一下为什么我的SQL语句有错误吗

(select group_concat(concat(column_name))
    from information_schema.COLUMNS
    where table_name = '<table name>'
    and table_schema = '<dbname>'
    order by ORDINAL_POSITION) 
union all
(select * from hars_return into outfile "E:\\test.csv" fields terminated by "," lines terminated by "\n");
我问对了吗

运行此查询时出现的错误是:

错误代码1222:使用的SELECT语句的列数不同

使用union或union all时,每个子查询必须具有相同的列数

第一个查询返回一列。第二个是返回表中的所有列。因此,除非该表恰好只有一列,否则将出现列计数错误

此外,concat列名称中的concat是完全不必要的。

要使UNION正常工作,您需要确保

所有语句中的列数相同 数据类型必须在每个位置/列匹配
请同时参考此

请查看此内容正如您可以从我的查询中看到的一样,我想从我的表中导出数据,并带有列标题,这是第一次查询的目的。如果我的第一个查询只返回一列,那么如何更改它以获得列标题列表?@trungbun。你的问题是关于你所犯的错误。如果要导出具有列标题的数据,请首先搜索类似的问题。如果你找不到合适的答案,那么再问一个适合你想做的问题。