Как я могу удалить запись в SQL, используя более 1 таблицы - PullRequest
0 голосов
/ 07 января 2012

У меня проблема в sql, может кто-нибудь помочь мне, у меня есть 3 таблицы sublocation, postingdetail и employee

Мне нужно удалить sublocid из таблицы sublocation, но сначала я должен проверить, есть ли какой-либо сотрудникесли вы работаете с этим распределением из таблицы postingdetail, то если да, запись не должна быть удалена.

размещение таблицы

sublocidsublocnamemainlocid

таблица сообщенийодетали

empidsublocmainloc

работник таблицы

empidEmpNamesublocidmainlocid

Ответы [ 3 ]

0 голосов
/ 07 января 2012

Ну, я не знаком с sql-сервером, я сам являюсь пользователем MySQL, но я знаю, что на sql-сервере есть хранимые процедуры ... и именно для этого созданы хранимые процедуры ...

Вот небольшое руководство по хранимым процедурам.

0 голосов
/ 07 января 2012

Я не понимаю значения таблицы postingdetail и почему мы берем подобласть из таблицы employee, а не postingdetail, но ваш запрос должен выглядеть примерно так:

delete sublocation
where sublocid not in
(
    select e.sublocid
    from employee e
    join postingdetail p on e.empid = p.emid
)
0 голосов
/ 07 января 2012

Что-то вроде

DELETE 
FROM [SUBLOCATION] 
LEFT JOIN [EMPLOYEE] ON [SUBLOCATION].[sublocid] = [EMPLOYEE].[sublocid] 
LEFT JOIN [POSTINGDETAIL] ON [POSTINGDETAIL].[empid] = [EMPLOYEE].[empid] 
WHERE empid IS NULL

Это может сработать.

...