Icerock's Blog Code snippets, useful tips, experiences and a bit of help :o)

5Nov/100

SELECT … UNION … INTO OUTFILE | [ESP]

English Version

Consejo rápido:

Algunas veces necesitamos volcar cierta información directamente a un archivo.
Eso es fácil haciendo

SQL:
  1. SELECT ... INTO OUTFILE .... FROM ...

Pero ¿qué pasa cuando necesitamos sacar información en alguna forma particular o cuando queremos agregar los "encabezados" de las columnas que estamos escribiendo en el archivo?
Posiblemente recibiremos un error diciendo que la expresión UNION no funciona con INTO OUTFILE.

Pero, esta es la manera de hacerlo:

SQL:
  1. SELECT *
  2.   INTO OUTFILE '/dir/to/file.csv'
  3.   FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
  4.   LINES TERMINATED BY '\r\n'
  5. FROM (
  6.   ( SELECT 'FieldA','FieldB','FieldC','FieldD' )
  7.   UNION
  8.   ( SELECT FieldA, FieldB, FieldC, FieldD FROM my_table)
  9. ) AS T

De esta forma, estamos creando una tabla compuesta por el resultado intermedio del UNION. Luego hacemos SELECT * desde esa tabla al archivo de final.

Recordá SIEMPRE asignar un alias a las tablas derivadas. :)

Happy Dumping!

Filed under: MySQL, Spanish Leave a comment
Comments (0) Trackbacks (1)

Leave a comment