OrientDB SQL - 使用子查询更新

时间:2016-10-07 12:49:47

标签: sql orientdb orientdb2.2

我想将Table2的@rid复制到一个字段" r1" Table1,其中Table2.f1 = Table1.f2(f1& f2只是另外两个字段)。

我想出的唯一解决方案是:

UPDATE Table1 SET r1=(SELECT @rid FROM Table2 
WHERE Table2.f1=$parent.$current.f2)

但它返回一个包含整个字段/值列表的字符串。 所以我必须修改如下:

UPDATE Table1 SET r1=r1.substring(6,12) 

(仅保留@rid部分)

但在我看来,必须有一个更好/更优雅的解决方案,只需一个查询。

有没有办法从上面的字段列表中只提取@rid?

我也试过了Omega Silva's solution,这似乎不起作用。 This is the error I get.

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不知道我是否理解正确,但我尝试了这个小例子

enter image description here

UPDATE Table1 SET r1=(SELECT @rid FROM Table2 WHERE f1=$parent.$current.f2)

我得到了

enter image description here

希望它有所帮助。