Результат запроса Mysql/export в файле csv

У меня есть сценарий mysql, который выбирает нужные данные через LEFT JOIN и сохраняет результат в файле csv. Но проблема в именах столбцов пропущена в файле результатов. Что я делаю неправильно?

SELECT 
a.*, b.pr_name
INTO OUTFILE 'johnoggyresult3.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
FROM
    'fileb' AS b
LEFT JOIN
    'filea' AS a ON b.pr_hand_size = a.user_hand_size
ORDER BY
     a.user_id
0
25 июл. '17 в 14:42
источник поделиться
1 ответ

Просто добавьте имена колонок с помощью SELECT. Что-то вроде этого должно работать:

SELECT * 

INTO OUTFILE 'johnoggyresult3.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

FROM (
SELECT 'column1', 'column2'
UNION ALL
(SELECT 
a.column1, b.pr_name
FROM
    'fileb' AS b
LEFT JOIN
    'filea' AS a ON b.pr_hand_size = a.user_hand_size
ORDER BY
     a.user_id) AS q
)

Обратите внимание, что сброс в CSV выполняется в конце, после того, как результат был выбран и отсортирован, а после добавления заголовков в набор данных. Вам также нужно сначала отсортировать данные перед добавлением строки с заголовками, иначе заголовки также будут отсортированы и могут помещаться где-то посередине набора данных вместо верхнего, как предполагалось.

0
25 июл. '17 в 14:57
источник

Посмотрите другие вопросы по меткам или Задайте вопрос