我需要根据精确的字符串匹配将两个数据帧连接在一起
我的数据框A包含如下数据:
alter_table_sql_statement
ALTER TABLE ANALYSIS_SERVICES_CUBE_PROCESS MODIFY ACTIVE_FLAG DEFAULT 'Y'
ALTER TABLE FACT_MONTHLY_ASSETS MODIFY UPDATE_DATE DEFAULT
ALTER TABLE RSVP_COMMISSION_HIST MODIFY CREDIT_AMOUNT DEFAULT 0
ALTER TABLE RSVP_COMMISSION_HIST MODIFY SPLIT_CREDIT_AMOUNT DEFAULT NULL
数据框B包含单独的表和列名称,如下所示:
table name column name
ANALYSIS_SERVICES_CUBE_PROCESS ACTIVE_FLAG
FACT_MONTHLY_ASSETS UPDATE_DATE
RSVP_COMMISSION_HIST SPLIT_CREDIT_AMOUNT
RSVP_COMMISSION_HIST CREDIT_AMOUNT
我尝试使用Fuzzyjoin连接两个数据帧,但是由于某些列名太相似,我得到了重复。
这是我尝试的代码:
alter_table <- fuzzy_inner_join (
dataframeA,
dataframeB,
by = c(
"alter_table_sql_statement" = "column_name",
"alter_table_sql_statement" = "table_name"
),
match_fun = str_detect
)
这是它给的结果:
1. ALTER TABLE RSVP_COMMISSION_HIST MODIFY CREDIT_AMOUNT
RSVP_COMMISSION_HIST
CREDIT_AMOUNT
2. ALTER TABLE RSVP_COMMISSION_HIST MODIFY SPLIT_CREDIT_AMOUNT
RSVP_COMMISSION_HIST
CREDIT_AMOUNT
3. ALTER TABLE RSVP_COMMISSION_HIST MODIFY SPLIT_CREDIT_AMOUNT
RSVP_COMMISSION_HIST
SPLIT_CREDIT_AMOUNT
如您所见,数字2和3是相同的SQL语句,但是输出生成了两行,其中一行具有credit_amount,另一行具有split_credit_amount,即使该语句仅修改了“ split_credit_amount”列。如何解决此问题?我需要进行部分匹配,但同时要进行精确的部分匹配。