У меня есть эта уникальная проблема, когда я хочу производить вычисления на основе значений, возвращаемых разными ребрами, и похоже, что это не работает для меня.
Функция моего графика — отслеживать коллекции карт Magic: the Gathering. Пожалуйста, используйте график в качестве иллюстрации к моей проблеме.
Я хотел взять #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
Я думал, что это поможет, но он просто вернул ноль. Я убедился, что все поля qty являются целыми числами. Я что-то упускаю?
Спасибо,
Рамон