我已成功将MySQL中的表导出到带有列的csv。我在Include headers when using SELECT INTO OUTFILE?
使用了这个人的答案SELECT'ColName1','ColName2','ColName3'
UNION ALL
SELECT ColName1,ColName2,ColName3
FROM YourTable INTO OUTFILE '/path/outfile'
但是,我想将查询公式导出为要添加到csv文件的新列。我尝试在第二个SELECT
语句后添加一个额外的计算列。 MySQL给了我一个错误说“使用的SELECT语句有不同的列数”。
示例公式:SELECT
CAST((ColName1 * ColName2)
AS
DECIMAL(7,2))
AS
ColNameX
。我不确定在我的导出声明中输入它的位置。
答案 0 :(得分:0)
要使UNION工作,您必须具有相同数量的列,并且它们必须属于同一类型。在将标题行创建为文本时,第二个查询中的所有列也必须是文本。像这样:
SELECT 'ColName1', 'ColName2', 'ColName3', 'New Column'
UNION ALL
SELECT
ColName1
,ColName2
,ColName3
,CAST(CAST((ColName1 * ColName2) AS DEC(5,2)) AS CHAR)
FROM YourTable
INTO OUTFILE '/path/outfile'