Ich frage mich, ob es eine Möglichkeit gibt, eine Abfrage zwischen Join in SSIS zu tun, ohne eine temporäre Tabelle auf meinem Server zu verwenden.Verwenden von SSIS, um eine zwischen-Abfrage
Gegeben zwei Tabellen, Konten und Gruppen. Konten enthält eine Liste von Konten mit einem oberen und unteren Bereich, um eine Liste von Kunden zu definieren. Gruppen enthalten alle Kunden.
Ich möchte in der Lage sein, die Tabellen zu verbinden, so dass ich alle Konten und die Kunden an diese Konten angeschlossen bekomme. Wenn es nur ein Account war, den ich benötigte, konnte ich einen bedingten Split verwenden, aber ich möchte alle Accounts und alle Kunden aus den Gruppen.
Die Tabellen stammen von separaten Systemen. Daher ist das Platzieren der Abfrage in einer Datenquelle keine Option.
Wenn die Tabellen auf dem gleichen System waren, konnte ich die folgende Abfrage verwenden.
SELECT
Accounts.Account,
Groups.Customer
FROM
Accounts,
Groups
WHERE
Accounts.AccountType = 1 AND
Groups.GroupName BETWEEN Accounts.LowerGroup AND Accounts.UpperGroup
Irgendwelche Ideen, wie man das in einem SSIS-Paket macht. Ich mag meine derzeitige Methode, beide Tabellen auf dem Server zu speichern, wirklich nicht, aber ich habe Mühe, einen Weg zu finden, dies in einer einzigen Datenflussaufgabe zu tun.
Michael das ist eigentlich eine wirklich gute Idee und nicht etwas, was ich überhaupt in Erwägung gezogen habe. (es ist etwas, was ich für einige meiner anderen Pakete nutzen kann). Aber in meinem Fall schneiden sich die Gruppenbereiche. Kunden können mehreren Konten angehören. Ist mein Fall ein hoffnungsloser Fall? –
Sie können immer noch so etwas mit mehreren laufenden Gruppen versuchen: (1) Erstellen Sie zwei Zeilen für jede Gruppe, eine für die untere Grenze, eine für die obere. (2) vollständige Zusammenführung Join (3) das Skript wird komplexer - Verfolgen der Liste der Gruppen und Ausgabe mehrerer Zeilen (eine für jedes Element in der Liste). – Michael