使用r

时间:2018-06-04 15:37:14

标签: sql-update left-join sqldf

我想从第二个表更新pro_sales值。下面的样本表。

df1 <- data.frame(storecode = c(100,100,100,200,200),
              productcode = c(1,2,3,1,2), pro_sales = c(0,0,0,0,0))
df2 <- data.frame(storecode = c(100,100,200),
              productcode = c(1,2,1), pro_sales = c(0,1,0))

我想要的数据集是

 storecode   productcode pro_sales
    100           1         0
    100           2         1
    100           3         0
    200           1         0
    200           2         0 

我使用下面的代码但没有成功

sqldf(c("update df1 
left join df2 on (df1.storecode = df2.storecode and df1.productcode = 
df2.productcode)
set df1.pro_sales  = coalesce(df2.pro_sales ,0)",
"select * from df1")
)

错误mesagge是 result_create中的错误(conn @ ptr,statement):靠近“left”:语法错误 任何帮助都将受到重视。谢谢。

0 个答案:

没有答案