Orientdb: 3.0.x 不支持 SQL 子查询?

创建于 2018-09-12  ·  3评论  ·  资料来源: orientechnologies/orientdb

东方数据库版本:3.0.5

Java 版本:1.8

操作系统:Centos 6.8

SQL

select * 
from v_test_1
where  id in ( select in('e_test').id from v_test_2 where name = 'jack' )

预期行为

返回与 v_test_2's name = 'jack' 相关的 v_test_1

实际行为

返回 0 条记录
但是,下面的 sql 工作正常,必须使用$refs[0].refs_id ,而$refs.refs_id不起作用

select * 
from v_test_1
let $refs = ( select in('e_test').id as refs_id from v_test_2 where name = 'jack' ) 
where where  id in  $refs[0].`refs_id`

这个sql语法对我们来说很重要,如果我们改成let ,那将是一个非常大的变化
是一个错误? 还是已弃用的功能?

感谢阅读

所有3条评论

@lightjiao

它应该可以工作,可能只需要在比较器中添加一点即可。
我会尽快处理并通知您

谢谢

路易吉

@lightjiao

我用 v 3.0.7 对其进行了测试,基本情况下问题已经得到解决。
父查询使用索引时仍然存在问题,我修复了它并推送到 3.0.x。 它将随 v 3.0.8 发布

谢谢

路易吉

我在开发快照上检查了这个,它工作正常。
期待3.0.8的发布

非常感谢。 👍

此页面是否有帮助?
0 / 5 - 0 等级