Ich habe eine T-SQL-Abfrage geschrieben, die einige separate SELECT-Anweisungen enthält. Jede SELECT-Anweisung gibt eine andere Anzahl von Spalten zurück und stellt verschiedene Eigenschaften / Features dar, sodass ich nicht alle zu einem SELECT / zu einem Ergebnis zusammenfassen möchte.
Lassen Sie mich zur Visualisierung meiner Abfrage ein vereinfachtes Beispiel bereitstellen:
DECLARE @myNumber bigint;
SET @myNumber = 5426;
SELECT 'This' as col1, 'is' as col2, 'my' as col3, 'number:' as col4, @myNumber as col5
SELECT 'and' as column1, 'the half' as column2, @myNumber/2 as column3
SELECT * FROM
(SELECT 'some' as column1, 'union' as column2
UNION ALL
SELECT 'second' as column1, 'case' as column2
) as someData
So sieht es in SQL Server Management Studio nach der Abfrageausführung aus:
Jetzt möchte ich genau die gleichen Abfrageergebnisse in Excel erhalten. Ich gehe zu Daten -> Aus anderen Quellen -> Aus SQL Server. Im Fenster 'Daten importieren' klicke ich auf Eigenschaften und füge die erwähnte Abfrage ein:
Leider wird nur das erste SELECT-Abfrageergebnis in Excel angezeigt.
Ist es möglich, alle Abfrageergebnisse in Excel abzurufen?
quelle
Antworten:
Excel unterstützt nicht mehrere SQL-Anweisungen in einer Verbindung.
Als Problemumgehung können Sie ein Makro verwenden, das die gewünschte Funktionalität emuliert.
Andere in Kommentaren aufgeworfene Fragen:
Es scheint jedoch keine Funktionalität zu sein, die von vielen Benutzern benötigt wird. Ich erwarte nicht, dass sich die Entwicklung darauf konzentriert.
quelle
Sie können hierfür mehrere UNIONs verwenden. Im Folgenden finden Sie einige Beispiele für SQL-Abfragecodezeilen, mit denen Sie das Problem beheben können.
oder es sollte so sein,
Erstens ist es einfach und benutzerfreundlich. Ich hoffe, dies hilft Ihnen.
quelle
UNION
erfordert unterschiedliche Ergebnisse, um die gleiche Anzahl von Spalten und Datentypen zu haben, dies ist in der vorliegenden Frage nicht der Fall.