Wie schreibe ich eine Abfrage in Microsoft SQL Server Management Studio und verwende diese Abfrage dann in Excel?

8738
Alex

Ich habe eine Excel-Datei, die ich öffnen möchte, auf "refesh" klicken und die Daten vom SQL-Server abrufen. Dann manipuliere ich die Daten und erstelle einige Dashboards. Ich habe dies tatsächlich, aber ich ziehe zu viele Daten ein und brauche eine komplexere Abfrage mit einigen JOINs, um sie einzugrenzen.

Ich kann einen SQL Server über Excel abfragen. Ich kann die Abfrage bearbeiten (nur Text), aber es ist langweilig, ein bisschen wie im Dunkeln zu arbeiten, da bei Excel die Abfrage die Fehlernachrichten unbrauchbar macht. Früher habe ich dies mit der EXE-Datei namens MSQuery gemacht, die mit Excel geliefert wird (aber sie verschluckt eine Menge Dinge).

Ich kann die gewünschte Abfrage mit Microsoft SQL Server Management Studio schreiben.

Sie könnten denken, ich könnte die Abfrage in Studio schreiben und die Abfrage ausschneiden und in Excel einfügen, aber die Syntax scheint etwas anders zu sein. Insbesondere müssen Sie in Studio vor dem Schreiben der Abfrage die Datenbank auswählen. Daher beginnt die FROM-Anweisung in der SQL-Abfrage mit dbo.vSomeViewName. Während Sie in Excel / MSQuery die Datenbank nicht angeben, beginnt die FROM-Anweisung in den Abfragen mit TheDataBaseName.dbo.vSomeViewName. Danach gibt es einige andere Unterschiede, die ich nicht verstehe.

Ich habe das Gefühl, dass mir etwas grundlegendes fehlt, von dem Bücher scheinbar offensichtlich sind oder nicht benötigt werden.

0
Beide Antworten haben bisher sehr geholfen. Ich würde beide als Antwort auswählen, wenn ich könnte. Alex vor 13 Jahren 0

2 Antworten auf die Frage

2
Sux2Lose

Ich führe die folgenden Schritte aus, wenn ich eine SQL Server-Abfrage einfügen möchte: (unter der Annahme von Excel 2007)

  1. Daten> Aus anderen Quellen> Aus SQL Server
  2. Geben Sie den Servernamen ein
  3. Wählen Sie die gewünschte Datenbank aus und wählen Sie eine kleine Tabelle aus der Liste der Tabellen aus.
  4. Klicken Sie auf OK
  5. Klicken Sie bei ausgewählter Registerkarte "Tabellentools> Design" auf den Pfeil unter "Aktualisieren" und anschließend auf "Verbindungseigenschaften".
  6. Klicken Sie auf Definition
  7. Befehlstyp in 'SQL' ändern
  8. Fügen Sie Ihre Abfrage in das Feld 'Befehlstext' ein. Klicken Sie auf OK.

Das hat bei mir immer funktioniert.

das hilft auch enorm Alex vor 13 Jahren 0
Für mich sollte Schritt 5 wie folgt lauten: Klicken Sie bei ausgewählter Registerkarte Daten (Verbindungen) auf den Arror unter Alle aktualisieren, klicken Sie auf Verbindungseigenschaften. DeveloperDan vor 10 Jahren 0
0
Mike Fitzpatrick

Ich kopiere und füge regelmäßig Abfragen zwischen Excel und SQL Server Studio ein und ich stoße nicht auf die von Ihnen beschriebenen Probleme. Solange die Datenbank in Excel in der Verbindungszeichenfolge angegeben ist, müssen Sie den Datenbanknamen nicht vor jeder Tabelle oder jeder Spalte angeben.

Alternativ können Sie den Datenbanknamen am Anfang der Abfrage angeben:

use database

Super Mike. Das scheint etwas "grundlegendes" zu sein, was mir fehlt. Das ist: `Use" database ";` und für die Verbindungszeichenfolge: `database = YourDatabase` (das SQL-Buch, das ich verwende, erwähnt das Wort USE überhaupt nicht) Alex vor 13 Jahren 1