2016-12-28 3 views
0

RからSQLクエリを実行し、結果をデータフレームに取得したいと思います。ここに私の例があります。RからのSQLの実行

library(RODBC) 
db.handle <-odbcDriverConnect('driver= 
{SQL Server Native Client 11.0};server=some_server\\some_server_2; 
database = some_db;trusted_connection=yes') 

query <-"select top 10 * into #temp_table from table_A select * from #temp_table" 

res <- sqlQuery(db.handle, query) 

print(res) 

上記コードはcharacter(0)です。それは#temp_tableなしで動作します。それは一時テーブルで動作させる方法はありますか?

+5

'from table_A'の後にセミコロンを入れてみましたか? –

+0

@TimGoodmanここで私のクエリ 'IF OBJECT_ID( 'tempdb ..#temp1)IS NOT NULL DROP TABLE#temp1;を変更した方法です。 table_Aから#temp_tableにトップ10 *を選択します。 select * from#temp_table'私はまだ同じ 'character(0)'を持っています。 – user1700890

答えて

2

これは有効なSQL文である可能性がありますが、 'RODBC'パッケージはsqlQuery()コマンドだけでクエリをどのように処理するのかわかりません。

使用しているデータベースに対する読み取りと書き込みのアクセス権があると仮定すると、関数演算を部分(sqlQuery()、sqlSave()、sqlQuery())に分割してみてください。既存の一時表を削除する必要がある場合は、sqlDrop()を使用できます。終了したら接続を閉じることを忘れないでください。

また、 'table_Aからトップ10を選択'クエリの結果を取得した後、 'dplyr'を使用してRのようなSQLを実行することもできます。

関連する問題