Запрос на удаление записей - PullRequest
       0

Запрос на удаление записей

1 голос
/ 21 сентября 2010

У меня есть таблица со следующими полями.Мое требование состоит в том, чтобы удалить записи из таблицы, когда 1. Флаг установлен на «Нет» 2. Для заголовка, в одной записи, если флаг установлен на «Нет», и в другой записи, если он установлен на «Да».».Удалить обе записи.Например, TH-123, в 1-й записи флаг установлен на «Нет», а в 4-й записи установлен флаг «Да». Удалите обе записи.3. Для заголовка, в одной записи, если флаг установлен на «Нет», и в другой записи, если он установлен на «» (пробел).Удалить обе записи.Например TH-344.Удалите обе записи.

   Title                        Flag     

    TH-123                        No
    TH-344                        
    TH-543                        No
    TH-123                        Yes
    Th-344                        No
    Th-098                        Yes
    Th-876                        Yes
    Th-098                        Yes
    Th-512                        No

, поэтому теперь я ожидаю результата со следующими записями.

    Th-098                        Yes
    Th-876                        Yes
    Th-098                        Yes

Я сделал это с 2 запросами.

update temp1 set [flag] = 'No' WHERE Title IN 
(SELECT Title FROM temp1 where [flag] = 'No')

delete from temp1 where [flag] = 'No'

Возможно ли это сделать с помощью одного запроса.Если это так, пожалуйста, дайте мне знать или любую другую лучшую процедуру ..

Ответы [ 2 ]

4 голосов
/ 21 сентября 2010
delete from temp1 
where 
    Title IN 
        (SELECT Title FROM temp1 where [flag] = 'No')
1 голос
/ 21 сентября 2010

Это должно работать:

delete from t1
from temp1 t1
  inner join temp2 t2 on t1.Title = t2.Title
where t2.[flag] = 'No'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...