2016-11-09 27 views
1

在R工作组,并试图通过运行左边一列添加到现有的MonetDBLite表连接使用下列代码的第二表:MonetDBLite左联接语法

dbSendQuery(mdb, "UPDATE table1 
    SET table1.variable = table2.variable 
    FROM table1 LEFT JOIN table2 ON table1.identifier = table2.identifier;") 

返回错误:

Server says 'syntax error, unexpected '.', expecting '=' in: "update table1 
    set table1." 

是否MonetDB不支持点分隔符引用表中的字段?非常感谢任何见解。

+0

你的意思是左加入? – jarlh

+0

将'set table1.variable'更改为'set variable'。 –

+0

感谢您的快速响应。但没有运气。抛出错误:“服务器说'语法错误,意外的FROM,期待SCOLON在:”更新表1 设置变量= table2.variable f“ – charlie

回答

1

想出了一种解决方法,即创建第三个表,而不是更新现有表,然后删除原始表。 (很确定有一个更优雅的方式来做到这一点,但...)

dbSendQuery(db, "create table table3 as 
select a.*, 
b.variable 
from table1 as a 
left join table2 as b 
on 
(a.identifier = b.identifier);") 

dbRemoveTable(db, "table2")