Orden campos excel sql

Hola.
Tengo una conexión desde Excel a una BD. Dentro de esa conexión, agrego un query para traer datos de la TABLA 1, TABLA 2, TABLA 3 usando el left join.
Si corro ese query en el sqldeveloper o en cualquier otra aplicación para sql, me trae las columnas en el orden que las pido dentro del select, ejemplo:
select  tabla1.campo1, tabla2.campo2, tabla3.campo3
from tabla1, tabla2, tabla3
lo cual me trae en columnas:
campo1 | campo2 | campo3
Mi pregunta es, ¿que criterio usa excel para ordenar las columnas asi?:
campo2 | campo3 | campo1

1 Respuesta

Respuesta
1
Podrías indicarle el orden en la sql.
Quedaría así:
select  tabla1.campo1, tabla2.campo2, tabla3.campo3
From tabla1, tabla2, tabla3
Order by tabla2. Campo2, tabla1. Campo1, tabla3. Campo3
Ya me cuentas ;)
Carlos,
[email protected]
Tengo entendido que el Order by, ordena los campos dentro de una columna ("orden vertical"), de igual manera ya lo intente, poniendo todos los nombres de columnas en el orden que los quiero, pero nada... me sigue poniendo las columnas en el orden que quiere.
¿Tendrá algo que ver que son como 10 tablas diferentes de las que extraigo información utilizando solo left joins?
Sin duda entendí mal tu pregunta y creí que buscabas el orden en el resultado, no en los campos, lo siento.
Lo único que se me ocurre es que me envíes, si es posible, el archivo excel con el que estás obteniendo los campos con ese "desorden", es posible que viéndolo y probando con él, pueda encontrar la causa.
Ok, hice un query más sencillo, con menos tablas (solo tres)
SELECT
TABLA1. ID "1",
TABLA2. DATE "2",
TABLA3.TYPE "3",
tabla2. Note "4"
from tabla1
            LEFT JOIN TABLA2
            ON TABLA2.DOC_NUMBER= TABLA1.DOC_NUMBER

            LEFT JOIN TABLA3
            ON TABLA3.TASK= TABLA2.TASK

WHERE
TABLA3.DOC_NUMBER = TABLA1.DOC_NUMBER
order by tabla1. Id, tabla2.date

Si hago este query desde el SQL Developer, me trae las columnas 1|2|3|4 (en el orden que las pedí), pero si lo hago desde excel, me trae 1| 2| 4| 3. Según lo que pude ver, toma en cuenta el orden en que voy agregando las tablas con los left joins.
Tengo que renombrar las tablas (con números tal vez), ¿para incluirlos dentro del select y que de esa forma me traiga las columnas en el orden que necesito? ¿O hay alguna otra forma?
No tengo buenas noticias, no consigo reproducir tu problema, tu query es perfecta, debería traerte los campos en orden 1|2|3|4
He probado con Access, con MySql, con Oracle, con SqlServer... pero no consigo que me devuelva los campos en un orden distinto al que solicito :/
Lo siento muchísismo, creo que no voy a poder ayudarte con esta cuestión :(
Te ánimo a que vuelvas a abrir la consulta a ver si algún otro experto podría ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas