SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.01.2012 14:59:36

Nuzhser
Участник
Зарегистрирован: 16.02.2011
Сообщений: 6

удалить данные из одной таблицы но при этом должно соблюдаться условие

Здравствуйте! С новым годом всех.
У меня потребность удалить данные из одной таблицы но при этом должно соблюдаться условие что в другой будет совпадать значение одноименного поля и при этом значение другого поля в этой же другой таблице будет равно 20.
Имею такой вот запрос но он не работает.
delete from cheese_discount WHERE EXISTS (
SELECT * FROM cheese_discount AS pd
LEFT JOIN cheese_2_category AS ptc
ON (pd.product_id=ptc.product_id)
WHERE ptc.category_id=20
)

Выдает ошибку
#1093 - You can't specify target table 'cheese_discount' for update in FROM clause

Помогите кто чем может ))

Неактивен

 

#2 03.01.2012 15:30:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: удалить данные из одной таблицы но при этом должно соблюдаться условие

Код:

DELETE chese_discount 
FROM cheese_discount 
JOIN cheese_2_category USING (product_id)
WHERE cheese_2_category.category_id = 20

Неактивен

 

#3 03.01.2012 16:49:38

Nuzhser
Участник
Зарегистрирован: 16.02.2011
Сообщений: 6

Re: удалить данные из одной таблицы но при этом должно соблюдаться условие

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'JOIN cheese_2_category USING (product_id) WHERE cheese_2_category.category_' at line 3

Отредактированно Nuzhser (03.01.2012 16:50:32)

Неактивен

 

#4 03.01.2012 17:49:21

Nuzhser
Участник
Зарегистрирован: 16.02.2011
Сообщений: 6

Re: удалить данные из одной таблицы но при этом должно соблюдаться условие

Вот так работает
delete from cheese_discount WHERE product_id in (
    SELECT product_id FROM cheese_2_category
    WHERE category_id=20
)
Спасибо

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson