Вход | Регистрация
 

Помогите пожалуйста с MySQL - DELETE c вложенным SELECT

Помогите пожалуйста с MySQL - DELETE c вложенным SELECT
Я
   sysadminlk
 
12.05.20 - 16:37
SELECT `pl_descr` FROM `link_pricelist` AS `p` WHERE `pl_id` = '19975230'

Вопрос
Как мне удалить одним запросом все строки у которых `pl_descr` равен тому который из селекта получили по `pl_id` = '19975230'
   ДенисЧ
 
1 - 12.05.20 - 16:39
delete ... where pl_id in (select pl_id where...)
   trad
 
2 - 13.05.20 - 11:24
(1) только так не pl_id in pl_id, а pl_descr in pl_descr

delete link_pricelist
where pl_descr in (SELECT pl_descr FROM link_pricelist WHERE pl_id = '19975230')
   ДенисЧ
 
3 - 13.05.20 - 11:29
(2) Ну, мне было лень поля расписывать. Я ж не сапер, чтобы в таких сокращениях разбираться.
   sysadminlk
 
4 - 13.05.20 - 16:12
delete from link_pricelist
where pl_descr in (SELECT pl_descr FROM link_pricelist WHERE pl_id = '19975230')


Ошибка
#1093 - You can't specify target table 'link_pricelist' for update in FROM clause
   Вафель
 
5 - 13.05.20 - 16:14
   sysadminlk
 
6 - 13.05.20 - 16:20
DELETE FROM `link_pricelist` WHERE pl_descr = ( SELECT a.pl_descr
FROM (
SELECT pl_descr
FROM `link_pricelist`
WHERE `pl_id` = '19975230'
) AS `a` )

спасибо. вот так отработало
   Гений 1С
 
7 - 13.05.20 - 16:44
(0) Ты окрываешь для себя SQL, прям как я: https://geniy1s.ru/prokachalsya-tut-v-mysql/
   Serginio1
 
8 - 13.05.20 - 18:59
   rphosts
 
9 - 13.05.20 - 19:11
(5) прикольный обход проблемы двойным вложением!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.