【问题标题】:SQL for OrientDB - how to merge elements by ID and sum up attributesOrientDB 的 SQL - 如何按 ID 合并元素并汇总属性
【发布时间】:2018-11-06 11:02:31
【问题描述】:

我正在使用带有 Orient DB 2.2 版的 SQL。我想在一个类的元素具有相同 ID 时合并它们,并将一个元素的属性附加到另一个元素的属性。该属性属于“embeddedset”类型。

假设我有 3 个像这样属于同一类的元素

+-------+------------+--------------+
| Elem  |     ID     | setAttribute |
+-------+------------+--------------+
|   1   |    id1     |    name1     |
|   2   |    id2     |    name1     |
|   3   |    id1     |    name2     |
+-------+------------+--------------+

我想这样结束:

+-------+------------+--------------+
| Elem  |     ID     | setAttribute |
+-------+------------+--------------+
|   1   |    id1     | name1, name2 |
|   2   |    id2     |    name1     |
+-------+------------+--------------+

我首先尝试找到所有匹配项:

SELECT FROM (MATCH {class:elementClass,as:element1}, {class:elementClass, as:element2} RETURN element1, element2) WHERE (element1.id == element2.id AND element1.@rid <> element2.@rid)

但是,很遗憾我不知道如何继续? 非常感谢!

【问题讨论】:

    标签: sql merge orientdb


    【解决方案1】:

    你可以像下面这样尝试

    select Elem, ID, $a.setAttribute from
    (select  from t )
    let $a=(select  from t where ID=$parent.current.ID)
    group by ID
    

    【讨论】:

      猜你喜欢
      • 2018-04-18
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      • 2022-08-23
      • 1970-01-01
      相关资源
      最近更新 更多