За последние 24 часа нас посетили 22883 программиста и 1311 роботов. Сейчас ищут 913 программистов ...

Удалить из массива элементы

Тема в разделе "PostgreSQL", создана пользователем polin11, 16 сен 2022.

  1. polin11

    polin11 Активный пользователь

    С нами с:
    22 янв 2019
    Сообщения:
    20
    Симпатии:
    0
    Использую СУБД Postgresql.
    Есть таблица вида:
    PHP:
    1. CREATE TABLE docs (
    2.    id int PRIMARY KEY,
    3.    account bigint,
    4.    contact TEXT []
    5. );
    6. INSERT INTO docs VALUES(1, 22, ARRAY ['Иван', 'Петр']);
    7. INSERT INTO docs VALUES(2, 22, ARRAY ['Иван']);
    8. INSERT INTO docs VALUES(3, 22, ARRAY['Иван', 'Виктор']);
    9. INSERT INTO docs values(4, 22, ARRAY['Иван', 'Роман', 'Сергей']);
    Есть массив строк контактов(например ['Иван','Петр']) и аккаунт, нужно из поля contact удалить
    этих пользователей. Если после этого массив пустой, то нужно удалить запись целиком.
    Например из набора:
    PHP:
    1. 1, 22, ARRAY ['Иван', 'Петр']
    2. 2, 22, ARRAY ['Иван']
    3. 3, 22, ARRAY['Иван', 'Виктор']
    4. 4, 22, ARRAY['Иван', 'Роман', 'Сергей']
    После обновления таблица должна иметь вида:
    PHP:
    1. 3, 22, ARRAY['Виктор']
    2. 4, 22, ARRAY['Роман', 'Сергей']
    Просьба помочь это сделать одним запросом