172 похожих чатов

Привет, ребят. Помогите, пожалуйста, понять в чем проблема. CREATE TABLE files (

id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
name TEXT NOT NULL UNIQUE,
content TEXT NOT NULL,
groups uuid[] NOT NULL
);

CREATE TABLE groups
(
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
name TEXT NOT NULL UNIQUE,
read BOOLEAN NOT NULL,
write BOOLEAN NOT NULL,
users uuid[] NOT NULL
);
Есть две таблицы. Я пытаюсь достать имя группы по id из файла таким запросом
select g.name from groups as g where g.id = any (select f.groups from files as f where name = 'hello');
Но выдает ошибку
ERROR: operator does not exist: uuid = uuid[]
LINE 1: select g.name from groups as g where g.id = any (select f.gr...
^
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
Почему так, если я возвращаю тип uuid[]?

6 ответов

11 просмотров

Сделайте через exists

Sasha-Khomin 🇺🇦 Автор вопроса
Владимир
Сделайте через exists

Не понимаю, что поменять на exists. Он же мне просто вернет присутствие строк

Потому что подобный синтаксис может означать две разные вещи, т.е. есть "operator ANY (array)" и "operator ANY (select query)". Чтобы выбрать нужный, попробуйте что-то вроде: = ANY((select f.groups from files as f where name = 'hello')::uuid[])

Sasha-Khomin 🇺🇦 Автор вопроса
Владимир
Сделайте через exists

Понял. Работает, спасибо!:) select g.name from groups as g where exists (select 1 from files as f where g.id = any (f.groups) and f.name = 'hello');

Sasha-Khomin 🇺🇦 Автор вопроса
Yaroslav Schekin
Потому что подобный синтаксис может означать две р...

Уже переделал на exists, спасибо за объяснение:)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта