1

我有这个独特的问题,我想根据不同边缘返回的值进行计算,但它似乎对我不起作用。

我的图表功能是跟踪人们收藏的万智牌:收集卡。请使用图表作为我的问题的说明。

图形

我想以此#8:0为起点,看看哪些牌组 ( MDeck) 有MCard我拥有的牌 ( ),并计算我收藏中已有牌组的百分比。我的查询是这样开始的:

SELECT FROM (SELECT FLATTEN(out[label="has"]) FROM #8:0) WHERE in.in.size() > 1

这是为了得到我拥有的属于套牌的卡片。接下来,如果我的某张牌比甲板上所需的多,我只会计算所需的数量,所以我必须使用 MIN()。这就是问题出现的地方:

SELECT
MIN(UNION(in.in[label="includes"].qty, qty))
FROM (
    SELECT
    FLATTEN(out[label="has"])
    FROM #8:0
)
WHERE in.in.size() > 1

我认为这可以解决问题,但它只是返回 null。我确保所有 qty 字段都是整数。我错过了什么吗?

谢谢,

拉蒙

4

1 回答 1

0

您是否有一个公共数据库可以在其中使用 OrientDB 控制台或 Studio 执行查询?

如果不能,您可以在此处报告最后一个查询的中间结果吗?例如:

SELECT
in.in[label="includes"].qty
FROM (
    SELECT
    FLATTEN(out[label="has"])
    FROM #8:0
)
WHERE in.in.size() > 1

接着:

SELECT
UNION(in.in[label="includes"].qty, qty)
FROM (
    SELECT
    FLATTEN(out[label="has"])
    FROM #8:0
)
WHERE in.in.size() > 1
于 2012-08-26T11:15:34.000 回答