Запрос sql select для указанного условия

Есть две таблицы А и B.

A имеет два столбца account_id и ad_id. Есть несколько ad_id для каждого account_id.

В таблице B есть несколько столбцов, включая и ad_id.

Мне нужно получить все ad_id для account_id = 100, затем для всех этих ad_id мне нужно удалить данные из таблица B

Для этого мне нужна помощь с SQL-запросом.

какая у тебя попытка?

Radim Bača 11.04.2018 14:15
4
1
67
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

ВЫБРАТЬ ИСПОЛЬЗОВАНИЕ СОЕДИНЕНИЯ

SELECT * FROM tableA A
INNER JOIN tableB B
ON A.ad_id = B.ad_id
AND A.account_id=100

УДАЛИТЬ ИСПОЛЬЗОВАНИЕ СОЕДИНЕНИЯ

DELETE FROM tableB B
INNER JOIN tableA A
ON A.ad_id = B.ad_id
AND A.account_id=100

УДАЛИТЬ ИСПОЛЬЗОВАНИЕ Вложенного запроса

DELETE FROM tableB 
WHERE aid_id IN (SELECT aid_id 
                 FROM tableA 
                 WHERE account_id=100)

Левое соединение здесь может быть немного опасным

paparazzo 11.04.2018 14:37

спасибо за предложение

Jay Shankar Gupta 11.04.2018 14:41

Спасибо .. Вложенный запрос сработал

pranjal mathur 12.04.2018 06:51

если вы получили свой ответ, примите его и проголосуйте за @pranjalmathur

Jay Shankar Gupta 12.04.2018 07:00

Вы можете попробовать этот запрос

Удалить из B, где help_id in (выберите aid_id из A, где account_id = 100)

Это удалит записи для aid_id, возвращенные подзапросом.

Спасибо .. Это сработало

pranjal mathur 12.04.2018 06:52

Дайте ему положительный голос

manoj sawant 12.04.2018 07:00

Это должно работать

delete b 
from tableB b
join tableA a  
  on a.ad_id = b.ad_id
 and a.account_id = 100

Другие вопросы по теме