|
Помогите пожалуйста с MySQL - DELETE c вложенным SELECT
| ☑ |
0
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...)
|
|
2
trad
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) Ну, мне было лень поля расписывать. Я ж не сапер, чтобы в таких сокращениях разбираться.
|
|
4
sysadminlk
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
|
|
|
6
sysadminlk
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` )
спасибо. вот так отработало
|
|
7
Гений 1С
гуру
13.05.20
✎
16:44
|
(0) Ты окрываешь для себя SQL, прям как я:
|
|
8
Serginio1
13.05.20
✎
18:59
|
|
|
9
rphosts
13.05.20
✎
19:11
|
(5) прикольный обход проблемы двойным вложением!
|
|