Ich habe viele Tabellen, die alle ähnlich benannt sind (wie "table1" "table2" "table3" usw.) und ich muss alle von ihnen in einer Abfrage verwenden. Sie enthalten alle die gleichen zwei Variablen ("ID" und "Datum"), denen sie beigetreten sind.Einfache Möglichkeit, viele Tabellen mit ähnlichen Namen in SSMS zu verbinden?
Es gibt mindestens 25 Tabellen dieser Art und ich habe nur Lesezugriff auf die Datenbank, so dass ich sie nicht kombinieren oder sogar eine Ansicht erstellen kann, die dies tun würde.
Meine Frage ist: Gibt es eine einfache Verknüpfung, die ich verwenden kann, um alle diese Tabellen zu verbinden? Wenn dies SAS wäre, würde ich ein Makro erstellen, aber ich bin mit Microsoft SQL Server Management Studio 2012
statt, um dies zu tun:
select *
from table1 a
join table2 b on a.id=b.id and a.date=b.date
join table3 c on b.id=c.id and b.date=c.date
join ....
join ....
join table25 y on x.id=y.id and x.date=y.date
Ich möchte etwas tun:
select *
from merge(table1 - table25) using(id, date)
Ersetzen Sie die "merge" Anweisung oben mit allem, was angemessen ist. Ist so etwas möglich?
Ehrlich gesagt ist 25 kein Schweiß. Aber ja, das Setzen eines Alias ist ein Lebensretter. Auch kopieren und Vergangenheit ist dein Freund. Vor allem wenn die Joins ähnlich sind gehe zurück und justiere. –
Ja, es ist absolut machbar. Ich bin immer auf der Suche nach effizienteren Code-Möglichkeiten und bin gespannt, ob das möglich ist oder nicht. – MsTiggy
Nein, nicht möglich. – Jeremy