#mysql #export-to-csv
#mysql #экспорт в csv
Вопрос:
Я хотел бы создать отдельные экспортированные отчеты для разных типов животных, которые у меня есть в моей таблице. Я могу написать эти отчеты отдельно, однако у меня более 200 различных типов животных, и поэтому выполнение 200 отдельных запросов нецелесообразно.
ANIMAL_TABLE
AnimalName
-----------
CAT
DOG
MOUSE
HORSE
В принципе, я хотел бы выполнить аналогичный запрос для
SELECT * INTO OUTFILE '/tmp/ANIMAL-NAME.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\’
LINES TERMINATED BY 'n'
FROM ANIMAL_TABLE WHERE 1
но при наличии 4 файлов CSV вместо одного фактически каждое изменение типа animal создает новый файл
CAT.csv
DOG.csv
MOUSE.csv
HORSE.csv
Любая помощь будет оценена.
Комментарии:
1. Я знаю, что вы использовали его до конца, но вызов столбца или переменной
ANIMAIL
для представления животных приведет к опечаткам где-нибудь в будущем!2. Мне немного любопытно, как почтальон собирается запихнуть эту лошадь в ваш почтовый ящик.
3. извинения, проверено правописание и добавлено больше деталей. Спасибо, что указали на это. Что касается отправки лошади по почте, я собираюсь, чтобы почтальон сначала попробовал хвост 😉
Ответ №1:
SELECT * INTO OUTFILE '/tmp/ANIMAL-HORSE.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\’
LINES TERMINATED BY 'n'
FROM ANIMAL_TABLE WHERE animal_name LIKE 'horse'
Комментарии:
1. Спасибо за это, однако у меня более 200 различных типов животных, и поэтому выполнение 200 отдельных запросов нецелесообразно.
2. Вам нужно будет создать свой запрос с использованием динамического sql, что не очень сложная задача. Просто создайте элементы, используя запрос таблицы и немного конкатинации строк, затем используйте результат в качестве входных данных для запроса и повторите