2016-05-27 22 views
0

Kann ich 2 verschiedene Tabellen aus 2 verschiedenen Datenbanken in R verbinden?Join 2 Tabellen aus 2 verschiedenen Datenbanken in R

Ich mache 2 verschiedene Verbindungen mit den Datenbanken:

conn1<- odbcConnect("DSN", uid = "UID", pwd = "PSWD") 

conn2<- odbcConnect("DSN2", uid = "UID", pwd = "PSWD") 

Dann habe ich von beiden Verbindungen abfragen, um eine Tabelle:

table1 <- sqlQuery(conn1, "SELECT * from AAA") 

table2 <- sqlQuery(conn2, "SELECT * from BBB") 

Meine Frage: kann ich nicht 1 Abfrage machen, wo ich die 2 beitreten Tabellen in ihrer gemeinsamen Spalte?

Antwort

0

Sie können Tabellen aus verschiedenen Datenbanken normalerweise nicht verbinden, auch einige Datenbanken erlauben dies möglicherweise über Replikation oder Remote-Tabellen-Technik, aber dies ist nicht R-abhängig. Nachdem Sie jedoch die beiden Tabellen abgerufen haben, können Sie die beiden Datenrahmen mithilfe von merge: merge(table1, table2) verknüpfen.

+0

danke. Ja ich kann jetzt die Tabellen zusammenführen, aber ich dachte es wird viel einfacher wenn ich das schon in einer Abfrage machen kann. Völlig andere Frage jetzt, wenn ich merge ich merge auf gemeinsame Spalte von.x = 'Spalte_1', by.y = 'Spalte_1' aber in einem SQL kann ich auf mehr als 1 Tabelle beitreten, ist das in der Merge-Funktion auch möglich ? –

+0

Sicher, übergeben Sie "by" (oder 'by.x' oder' by.y') einen Vektor. Standardmäßig wird der Schnittpunkt der Spaltennamen hinzugefügt. – alistaire

+0

Ich meine, ich habe 2 gemeinsame Spalten in Tabelle 1 und Tabelle 2 in einem SQL ich schließe sie an: Wählen Sie * aus der Tabelle AAA linke Join Tabelle BBB auf Collum_1 = Spalte_1 und Spalte_2 = Spalte_2. Ich mache einen Join auf 2 Spalten, kann ich das inte Merge Fuction zu tun? –

Verwandte Themen