¿Cómo escribo una consulta en Microsoft SQL Server Management Studio y luego uso esa consulta en Excel?

0

Tengo un archivo de Excel que quiero abrir, presiono actualizar y extrae los datos del servidor SQL y luego manipulo los datos y creo algunos paneles. De hecho, tengo esto, pero estoy obteniendo muchos datos y necesito una consulta más compleja con algunas uniones para reducirlo.

Puedo consultar un SQL Server desde Excel. Puedo editar la consulta (es solo texto) pero es tedioso, es un poco como caminar en la oscuridad porque con Excel la consulta los mensajes de error son inútiles. Solía ​​hacer esto usando el .exe llamado MSQuery que viene con Excel (pero se ahoga en muchas cosas).

Puedo escribir la consulta que quiero usando Microsoft SQL Server Management Studio.

Se podría pensar que podría escribir la consulta en Studio y cortar y pegar la consulta en Excel, pero la sintaxis parece ser ligeramente diferente. Específicamente, en Studio, antes de escribir la consulta, debe seleccionar la base de datos, por lo tanto, la instrucción FROM en la consulta SQL comienza con dbo.vSomeViewName. Mientras que, en Excel / MSQuery, no especifica la base de datos, la instrucción FROM en las consultas comienza con TheDataBaseName.dbo.vSomeViewName. Después de eso, hay algunas otras diferencias que no entiendo.

Tengo la sensación de que me falta algo básico que los libros parecen suponer que es obvio o que no es necesario.

Alex
fuente
las dos respuestas hasta ahora ayudaron mucho. Los seleccionaría a ambos como respuestas si pudiera.
Alex

Respuestas:

0

Copio y pego consultas regularmente entre Excel y SQL Server Studio y no encuentro los problemas que usted describe. Siempre que la base de datos esté identificada en la cadena de conexión en Excel, no debería necesitar poner el nombre de la base de datos delante de cada tabla o columna.

Alternativamente, puede especificar el nombre de la base de datos al comienzo de la consulta:

use database

Mike Fitzpatrick
fuente
1
Impresionante Mike. Parece ser esa cosa "básica" que me falta. eso es: Use "database"; y, para la cadena de conexión: database=YourDatabase (el libro SQL que estoy usando no menciona la palabra USE)
Alex
2

Realizo los siguientes pasos cuando deseo pegar en una consulta de SQL Server: (suponiendo que Excel 2007)

  1. Datos> Desde otras fuentes> Desde SQL Server
  2. Ingrese el nombre del servidor
  3. Elija la base de datos que desee y seleccione una tabla pequeña de la lista de tablas.
  4. Presione OK
  5. Con la pestaña Herramientas de tabla> Diseño seleccionada, haga clic en la flecha debajo de Actualizar, haga clic en Propiedades de conexión.
  6. Haga clic en definición
  7. Cambiar el tipo de comando a 'SQL'
  8. Pegue su consulta en el cuadro 'Texto de comando'. Presiona OK.

Eso siempre me ha funcionado.

Sux2Lose
fuente
esto también ayuda enormemente
Alex
Para mí, el paso 5 debería leer: Con la pestaña Datos (Conexiones) seleccionada, haga clic en el error debajo de Actualizar todo, haga clic en Propiedades de conexión.
DesarrolladorDan