Mit MS SQL 2008 R2, Ich habe eine Abfrage, die Cte verwendet, um meine gewünschte Ausgabe zu erstellen. Dies funktioniert gut für eine Datenbank, aber jetzt muss ich die gleiche Abfrage über mehrere Datenbanken ziehen und alle diese Ergebnisse in einer Ergebnismenge zurückgeben. Ohne extreme Details habe ich:UNION SQL Query auf CTE über mehrere Datenbanken
;with cte1 as (my query from db1),
cte2 as (another query from cte1),
cte3 as (yet another one from cte2)
Select 'db1.Name' as dbName, * from cte3
Dies gibt mir die Daten, die ich brauche mit der ersten Spalte mit dem zugehörigen db-Namen. Jetzt muß ich diese über mehr als 30 Datenbanken alle mit dem gleichen Schema und demselben Ausgang laufen, aber wenn ich versuche, dies:
;with cte1 as (my query from db1),
cte2 as (another query from cte1),
cte3 as (yet another one from cte2)
Select 'db1.Name' as dbName, * from cte3
Union (or Union All)
;with cte1 as (my query from db2),
cte2 as (another query from cte1),
cte3 as (yet another one from cte2)
Select 'db2.Name' as dbName, * from cte3
Union (or Union All)
... till we reach the 30+
ich Beschwerden über die „;“ und die Gewerkschaft/Union alle. Wie bekomme ich die gesamte Ausgabe der letzten SELECT-Anweisung aus allen Datenbanken in 1 Ergebnismenge?
Das ist, was ich brauchte es Ihnen danken, hätte nicht gedacht, eine globale temporäre Tabelle zu verwenden. Jetzt muss ich es nur mit SSRS arbeiten :) Danke für Ihre Hilfe! –