2012-04-11 7 views
0

Ich verwende RODBC, um Daten aus einer vorhandenen SQL-Datenbank in R zu ziehen. Ich versuche, mehrere Abfragen/Tabellen gleichzeitig aufzurufen.RODBC - mehrere Tabellen in einem sqlQuery() -Aufruf

Zum Beispiel:

test2=sqlQuery(channel,'select top 10 * from bug; select top 10 * from site')

Dies gibt nur die erste Tabelle. Ich bin daran interessiert, dies zu tun, weil ich eine komplexere gespeicherte Prozedur aufrufen möchte, die andere Kollaborateure verwenden und die Entwicklung weiterführt ... Diese Prozedur gibt 3 Tabellen zurück (die als temporäre Tabellen in der gespeicherten Prozedur (#) gesetzt werden, um unsere zu erfüllen andere Daten benötigt/verwendet).

Also, wenn ich die gespeicherte Prozedur aufrufen, ähnlich dem obigen zwei Abfrage-Szenario, gibt es nur die erste Tabelle als Ergebnis zurück.

Alle vorgeschlagenen Problemumgehungen?

Antwort

0

Ich denke nicht, dass Sie in RODBC arbeiten können; Soweit ich weiß, erwartet es eine einzige Ergebnismenge aus der Datenbank.

Allerdings könnten Sie Ihre SQL bekommen beiden Werte in einer einzigen Abfrage ändern:

SELECT 
    (SELECT COUNT(*) 
    FROM bug) AS bugcount, 
    (SELECT COUNT(*) 
    FROM site) AS sitecount;