Как мне удалить строки на основе значения ячейки? — SQL

#sql #subquery #where-clause

#sql #подзапрос #where-предложение

Вопрос:

Пытаюсь узнать, может ли кто-нибудь помочь, если это возможно.

Я пытаюсь найти способ, с помощью которого SQL мог бы идентифицировать все, что указано как Алюминий, а затем удалить все строки, связанные с этим брендом. Итак, там, где у Coors есть Алюминий, он удаляет все строки Coors.

Пример:

 Brand       Alcohol  Container
Absolute     Vodka    Glass
Absolute     Vodka    Plastic
Coors        Beer     Glass
Coors        Beer     Aluminum
Coors        Beer     Plastic
Gallo        Wine     Glass
Yellowtail   Wine     Glass
Yellowtail   Wine     Aluminum
Yellowtail   Wine     Plastic
Corona       Beer     Plastic
Corona       Beer     Glass
  

Готовый продукт:

 Brand       Alcohol  Container
Absolute     Vodka    Glass
Absolute     Vodka    Plastic
Gallo        Wine     Glass
Corona       Beer     Plastic
Corona       Beer     Glass
  

Спасибо,
Мэтт

Ответ №1:

Вы можете использовать not exists :

 select t.*
from mytable t
where not exists (
    select 1 
    from mytable t1 
    where t1.brand = t.brand and t1.container = 'Aluminium'
)