2016-10-28 10 views
1

私は2つの異なるデータベースの2つのテーブル間のデータを比較する必要があるETLテストプロジェクトに取り組んでいます。これを行うには、まず以下のようなクエリを使用してテーブル全体をダウンロードしました。2つの異なるデータベースの2つのテーブルのdplyrからのanti_join()の使用

query_table_a <- paste0("SELECT * FROM MBR_MEAS (NOLOCK)") 
    table_a <- as.data.frame(sqlQuery(cn, query_table_a)) 

次に、dplyrからanti_join()を使用しました。両方のデータフレームで列名が同じ場合、結果は良好です。例えば(これは良い返し、期待される結果)

mismatch_records <- anti_join(table_a, table_b, by="client_id") 

しかし、別のシナリオでは

は、列名が変更された(表「C」はのclient_idとテーブル「D」のClientIDたように列名を持って、私は把握できませんでした。何をすべきか私は機能をマージ使用してみましたが、それは非常に有望であるように思われません

merge(x = table_c, y = table_d, by.x ="CLIENT_ID", by.y = "ClientId", all.x = "TRUE") 

か提案して下さい

答えて

3

このお試しください:?

mismatch_records <- anti_join(table_c, table_d, by = c("CLIENT_ID" = "ClientId")) 
関連する問題