Попытка объединить две таблицы по идентификаторам в двух столбцах (Ошибка Нет совпадающей подписи для оператора = для типов аргументов: INT64, ARRAY .) - PullRequest
0 голосов
/ 30 января 2020

У меня проблемы с соединением таблиц по этим столбцам. Похоже, что столбец c .vid является массивом, а d.associations.associatedvids - типом INT64. Каков наилучший способ преобразования массива в INT64? На первый взгляд они оба выглядят одинаково. Я прибываю из Postgres, и я не могу обернуть голову вокруг этого. У кого-нибудь есть идеи?

Это ошибка:

No matching signature for operator = for argument types: INT64, ARRAY<INT64>. Supported signatures: ANY = ANY at [2:26]

enter image description here

1 Ответ

0 голосов
/ 30 января 2020

Нашел решение. Мне пришлось использовать unnest () для столбца association.associatedvids.

Вот последний запрос:

SELECT associated_vid,d.dealid FROM hs.deals AS d, unnest(associations.associatedvids) as associated_vid
JOIN hs.contacts as c on c.vid = associated_vid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...