代码之家  ›  专栏  ›  技术社区  ›  Lance

使用连接到特定顶点列表的oute过滤器选择所有顶点

  •  0
  • Lance  · 技术社区  · 6 年前

    我不熟悉ODB,但不熟悉SQL,似乎找不到教程来学习,或者找不到类似的问答,但这可能是我无法正确提问的原因。

    我正在寻找一种方法来查找一个特定类(例如claim)的所有顶点,该类至少具有一个特定的oute类(例如,available ou to ou role),并且这些边都具有特定的属性值(例如,role=“adj1”),并且这些边也都在其对应的其他边上具有特定的版本。具有特定属性值的项目(例如日期)。

    我试过从边缘的两侧进行搜索,尤其是从边缘进行搜索,但它并没有按预期工作。我总是让所有索赔顶点与一个以上日期列表中的任何一个日期相连接,而不仅仅是与所有日期匹配的索赔。

    这是我最近得到的,但它会导致返回的索赔仅在两个日期中的一个日期可用,我不确定如何强制&result仅在提供的所有日期可用。

    SELECT
        *,
        out.label as claim_label,
        in.date as date,
        count(in.date)
    FROM
        available_to_role
    WHERE
        role='adj1'
    AND
        in.date in ['2018-06-02 00:00:00','2018-06-03 00:00:00']
    GROUP BY
        in.date
    

    我正在寻找一种方法来获取在所有提供的日期(而不仅仅是提供的日期之一)上特定角色可用的所有索赔。而且,我需要这些结果作为单独的响应,而不是聚合(例如,[“角色”,“角色”][“日期”,“日期”])。无论如何,我知道日期和角色,但不知道声明。

    任何帮助都将不胜感激。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Michela Bonizzi    6 年前

    我不确定是否有正确的底蕴,但:

    试试这个:

    select from Claims where outE("available_to_role").role contains "adj1" and out("available_to_role").date in ['2018-06-02 00:00:00','2018-06-03 00:00:00']
    

    如果要确保索赔类中的顶点与您必须使用的两个日期匹配,并对这两个日期进行条件调整

    希望有帮助

    当做