Acabei de ter alguns problemas de backup de banco de dados em um site que administro contendo alguns dados de leads importantes. Infelizmente, perdi uma das principais tabelas do MySQL, o que significa que meus dados perderam seu relacionamento e agora são difíceis de ler e manipular no Excel. Felizmente, consegui manter 1 tabela que contém os valores importantes. Agora só preciso reformatá-lo para o Excel para facilitar o trabalho.
Atualmente, quando exporto do banco de dados para CSV, os dados ficam assim:
id,lead_id,field_number,value
1,1,1,Mickey
2,1,2,Mouse
3,2,1,Minnie
4,2,2,Mouse
Eu gostaria de reformatar esses dados no seguinte formato:
id,lead_id,field_1,field_2
1,1,Mickey,Mouse
2,2,Minnie Mouse
Espero que faça sentido, não tinha certeza de como explicar essa pergunta.
Isso gerará um CSV por lead_id na ordem do field_number.
Existem 2 colunas lead_id para corresponder à sua saída. O MySQL não tem ROW_NUMBER() para gerar uma sequência arbitrária.
Eu descobri que o seguinte funciona melhor para ordenar os campos corretamente:
Eu faria isso no Excel - muito mais fácil!
Forneça as seguintes hipóteses...
Em seguida, use as seguintes fórmulas;
Em seguida, copie as células "E2:E3" e preencha o restante de seus dados.
Você deve ficar com algo assim...
Em seguida, você precisa "copiar e colar valores especiais" na planilha inteira.
Em seguida, filtre os dados e exclua todos aqueles com um "field_number" = 2.
Em seguida, exclua a coluna "field_number".
Ei, pronto, tudo pronto e não deve demorar mais do que o tempo que levei para escrever esta resposta !!! :)
Dave
Eu estou supondo que sua pergunta é sobre o formato de saída???
Nesse caso, a resposta é formatar corretamente sua sintaxe SELECT e usar o modificador 'INTO OUTFILE'.
Exemplo de CSV da página: