OrientDB SQL 加入备选

OrientDB SQL join alternative

我有以下数据库 类 A、B、C 以及数据和 link 字段:

  1. A (some_data_A, linkB) - 永远存在
  2. B (some_data_B) - 永远存在
  3. C (some_data_C, linkA) - 可选

C --> A --> B

现在我必须从 1 行中连接的所有 3 类 中提取数据。我可以简单地将 B 连接到 A:

select some_data_A, linkB.some_data_B from A

但无法弄清楚如何使用 C.linkA

将字段 C.some_data_C 连接到每一行

试试这个查询

select some_data_A, linkB.some_data_B, $c.val1,$c.val2 from A 
let $c= (select val1,val2 from C where linkA=$parent.$current)

如果您从 C 开始查询,您可以找到数据库中链接的所有数据。 它对你的情况有帮助吗?

select some_data_C, linkA.some_data_A, linkA.linkB.some_data_B from C