Удалить одно неуникальное значение из 2d массива - PullRequest
0 голосов
/ 02 апреля 2019

Подробнее о моем ответе на вопрос здесь:

Удалите одно неуникальное значение из массива

Для данной таблицы в PostgreSQL 9.6:

CREATE TABLE test_table (
   id int PRIMARY KEY
 , test_array text[][]
);

С такой строкой:

INSERT INTO test_table (id, test_array)
VALUES (1 , '{ {A,AA},{A,AB},{B,AA},{B,AB} }');

Как мне удалить индекс из test_array:

a), соответствующий значению [0],

b) совпадение значений [0] и [1].

При использовании array_position я получаю исключение:

поиск элементов в многомерных массивах не поддерживается

Кроме того, как будет построен запрос на обновление на основе этого сопоставления?

Я не уверен, что смогу построить запрос, как в массиве 1d.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 25 апреля 2019

Решено вместо этого нормализовать (в данном случае разбить массивы на две таблицы со ссылочными ключами), согласно рекомендации a_horse_with_no_name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...