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が返されました。すべての数量フィールドが整数であることを確認しました。何か不足していますか?

ありがとう、

ラモン

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 に答える