postgresql: удалить строки в таблице, которые соответствуют значениям в другой таблице через внешний ключ - PullRequest
0 голосов
/ 01 октября 2018

У меня есть две таблицы: event_to_state_groups и events

Я могу выбрать все записи, которые я хочу удалить в event_to_state_groups с помощью

SELECT events.event_id, room_id, sender 
FROM event_to_state_groups, events
WHERE event_to_state_groups.event_id = events.event_id 
  AND events.room_id like '%jGUBNvBzjGyQyKKMJV:matrix.org'

Как удалить все этизаписи из таблицы event_to_state_groups, которые связаны с room_id %jGUBNvBzjGyQyKKMJV% в таблице events?

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Попробуйте это:

delete from event_to_state_groups where room_id 
  IN (select e.room_id from event_to_state_groups e 
      INNER JOIN events ev on e.event_id = ev.event_id 
      WHERE e.room_id ilike '%jGUBNvBzjGyQyKKMJV%')
0 голосов
/ 01 октября 2018

Проверьте это

   delete FROM events using event_to_state_groups 
    WHERE event_id=event_to_state_groups.event_id AND room_id like '%jGUBNvBzjGyQyKKMJV%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...