Удаление записей из таблицы

Необходима Ваша помощь! Нужно удалить все записи о продажах в которых цена товаров в интервале 15000 до 35000 в таблице Продажа Помогите пожалуйста реализовать данный запрос. Мой неудачный вариант:

DELETE FROM Продажи
WHERE Код_товара in (Select Цена From Товар)
AND [Код_товара] in (Select [Цена] From Товар)  Товар.Цена BETWEEN 15000 AND 35000

Таблицы


Ответы (1 шт):

Автор решения: Nick Proskuryakov

1) Вам хватит и одгного условия вхождения
2) Чтобы проверять что [Код_товара] in (Select * From Товар), нужно иметь в таблице [Товар] тот самый код товара, ну и искать соответственно (Select [Код_товара] From Товар)

Ну и варианты решения задачи:

DELETE FROM Продажи
WHERE [Код_товара] in (SELECT [Код_товара] From Товар WHERE Товар.Цена BETWEEN 15000 AND 35000)

плюс, как верно заметил @Akina гораздо эффективнее будет так:

DELETE s
FROM Продажи AS s
JOIN Товар AS p ON s.[Код_товара] = p.[Код_товара]
WHERE p.Цена BETWEEN 15000 AND 35000

Это то что вы пытались сделать, по крайней мере.

→ Ссылка