sqlite3, как правильно использовать подзапросы - PullRequest
0 голосов
/ 31 октября 2018

Я новичок в SQL-запросах, пожалуйста, объясните мне, как я могу решить эту проблему.

Проблема, допустим, у меня есть 2 таблицы:

Table A: has a_id_1, a_id_2
Table_B: has b_id_1, b_id_2

и в этих таблицах есть такие записи:

Table A: has (1,2)
Table A: has (4,5)
Table A: has (7,10)

Table B: has (1,2)
Table B: has (2,1)
Table B: has (7,1)
Table B: has (4,10)
Table B: has (1,10)
Table B: has (10,1)

Итак, мой вопрос: как мне написать запрос на удаление записей из таблицы B на основе таблицы A, и если запись в таблице B: b_id_1! = B_id_2 и b_id_2! = B_id_1 удалить такую ​​запись.

Полагаю, мне нужно использовать подзапросы, но я не уверен, как правильно использовать их в данном конкретном случае.

Я использую sqlite3.

Большое спасибо за вашу помощь.

1 Ответ

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

Вы можете использовать not exists, что-то вроде этого:

delete from b
where not exists (select 1 from a where b.b_id_1 = a.b_id_2 and b.b_id_2 = a.b_id_1);

Ваши имена столбцов и примеры немного сбивают с толку, но это основная идея.

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