【发布时间】:2020-08-03 12:42:26
【问题描述】:
我有一个功能齐全的复合 PostgreSQL 查询...
SELECT * FROM
(SELECT date_trunc('day', date) date, (array_agg(open ORDER BY time
ASC))[1] o, MAX(high) h, MIN(low) l, (array_agg(close ORDER BY time
DESC))[1] c
FROM
(SELECT * FROM ES_test WHERE time BETWEEN
(SELECT pit_open FROM "contracts" WHERE root_symbol = '@ES' LIMIT 1)
AND
(SELECT pit_close FROM "contracts" WHERE root_symbol = '@ES' LIMIT 1))
AS pit
GROUP BY date_trunc('day', date) ORDER BY date) AS pit_daily INNER
JOIN trading_dates ON pit_daily.date = trading_dates.date;
我想将此查询的输出导出到 csv。我试过COPY方法...
Copy (Select * From foo) To '/tmp/test.csv' With CSV DELIMITER ',';
还有 \copy 方法...
\copy (SELECT * FROM persons) to 'C:\tmp\persons_client.csv' with
csv
没有任何成功。当我尝试这些时,我会遇到多个错误,包括解析错误或在查询中的“AS”之一之后或在引用创建 csv 文件的位置的“TO”之后纠缠不清。当我尝试创建临时表或临时视图时,我遇到了类似的错误。有什么建议?这是版本...
'psql (PostgreSQL) 12.2 (Ubuntu 12.2-2.pgdg18.04+1)'
【问题讨论】:
-
我还尝试了多种方法为整个查询赋予别名。也许有允许的最大别名数?
-
为我工作。请向我们展示您实际尝试过的一件事以及您遇到的错误。请正确格式化(例如,缩进 4 个空格),这样我们就不必尝试猜测哪些引号是命令的一部分,而哪些引号是格式的一部分。
-
感谢您的回复 jjane。你能展示一下你用来完成这项工作的代码吗?
-
COPY (SELECT * FROM ([ CODE FROM ABOVE ]) TO '/home/alpha/Desktop/ES_System_data.csv' CSV 标头;错误:“'”第 7 行或附近的语法错误:。 .._dates ON pit_daily.date = trading_dates.date) TO '/home/alp...
标签: postgresql csv ubuntu export output