Удалить строки из SQL Server с оператором WHERE из разных таблиц - PullRequest
10 голосов
/ 12 августа 2011

Мне нужно удалить несколько строк из таблицы, основываясь на смешанном операторе where из двух таблиц.

Я пробовал это:

delete from tblI t1, tblS t2 
where t2.rcode = 'ALA' and t1.sid > 5

, но я получаю синтаксическую ошибкуПожалуйста, помогите мне разобраться в этом

Изменил его на JOINS:

delete from tblI
inner join tblS
on tblI.sourceid = tblS.sourceid
where tblS.rcode = 'ALA' and tblI.sourceid > 5

, но что-то все еще не так, пожалуйста, помогите.

1 Ответ

21 голосов
/ 12 августа 2011

Вы должны указать, из какой таблицы удалить.

delete t1
from tblI t1 
join tblS t2  on t1.sid = t2.sid
where t2.rcode = 'ALA' 
and  t1.sid > 5 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...