2016-12-20 3 views
1

Ich weiß, wie man eine Tabelle aus der Datenbank importiert, es funktioniert; Aber was, wenn ich 6 Tabellen habe, gibt es eine bessere Möglichkeit, aus 6 verschiedenen Tabellen zu importieren und 6 verschiedene Datenfelder zu erstellen?R Importieren Sie mehrere Tabellen aus der Datenbank mit sqlQuery

Hinweise < - sqlquery (dbConnection " SELECT * FROM Table1")

??

+0

* Gibt es eine bessere Möglichkeit, * zu importieren? Besserer Weg von was? SQL-Befehle von einer Datenbank aufrufen? – Parfait

+0

wissen Sie nicht, wie man liest? gibt es eine bessere Möglichkeit, mehr als eine Tabelle mit der sqlQuery zu importieren? ohne diese Aussage 6 mal zu wiederholen? –

Antwort

2

Betrachten wir ein lapply Anruf über eine Liste von Tabellen:

tableList <- c("Table1","Table2","Table3","Table4","Table5","Table6") 

# BUILD LIST OF DFS FROM QUERIES 
dfList <- lapply(tableList, function(t) sqlQuery(dbConnection, paste0("SELECT * FROM ", t)) 

# NAME EACH ELEMENT TO CORRESPONDIND TABLE NAME 
dfList <- setNames(dfList, tableList) 

Und dann, wenn Sie separate Datenrahmen list2env verwenden möchten, aber Sie können immer direkt von dfList arbeiten zu viele Objekte in der globalen Umwelt zu vermeiden:

list2env(dfList, envir=.GlobalEnv) 
+0

Toll, danke, das ist genau das, was ich gesucht habe, vielen Dank !!!! Parfait –

+1

dfList <- lapply (tableListBase, function (t) fetch (dbSendQuery (con, paste0 ("SELECT * FROM", t)))) –

+0

Wenn die Lösung geholfen hat, akzeptieren Sie sie bitte (Häkchen auf der Seite), was auch die Auflösung bestätigt . – Parfait

Verwandte Themen