Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отрицание Update  [new]
Pabl0
Member

Откуда:
Сообщений: 265
У меня есть такой маленький UPDATE

update #Temp
set Color = 'ff8e8e'
where Approval <> 4 and
[ID] in (select [ID] from #ApprovalsMax WHERE [Type] = 1 and (author = @userID or author = @otdel)) 


Сейчас он выбирает тех людей по этому выражению
(author = @userID or author = @otdel)
отображает те действия кто их сделал, другими словами нужно что бы наоборот работало что бы была подцветка если сделал кто то другой, тойсть полное противоречие этому
(author = @userID or author = @otdel)


что бы я уже не делал не выходит
update #Temp set Color = 'ff8e8e' where Approval <> 4 and [ID] in (select [ID] from #ApprovalsMax WHERE [Type] = 1 and not EXISTS(SELECT TYPE FROM #ApprovalsMax WHERE (not author = @userID or not author = @otdel))) 


update #Temp
		set Color = 'ff8e8e'
		where Approval <> 4 and
		[ID] in (select [ID] from #ApprovalsMax WHERE [Type] = 1 AND (not author = @userID or not author = @otdel))


update #Temp
		set Color = 'ff8e8e'
		where Approval <> 4 and
		[ID] in (select [ID] from #ApprovalsMax WHERE [Type] = 1 AND not(author = @userID or author = @otdel))


я уже все перепробовал
25 фев 16, 20:51    [18864634]     Ответить | Цитировать Сообщить модератору
 Re: Отрицание Update  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
Pabl0
update #Temp
		set Color = 'ff8e8e'
		where Approval <> 4 and
		[ID] in (select [ID] from #ApprovalsMax WHERE [Type] = 1 AND not(author = @userID or author = @otdel))
Это "правильный" вариант. Он бы работал, если бы @userID или @otdel не содержали null
Pabl0
я уже все перепробовал
Не все
update t
 set Color = 'ff8e8e'
from
 #Temp t
where Approval <> 4 and
 not exists(select * from #ApprovalsMax WHERE [ID] = t.[ID] and [Type] = 1 AND (author = @userID or author = @otdel))
25 фев 16, 22:09    [18864912]     Ответить | Цитировать Сообщить модератору
 Re: Отрицание Update  [new]
Pabl0
Member

Откуда:
Сообщений: 265
Спасибо большое, работает :)
25 фев 16, 22:41    [18865058]     Ответить | Цитировать Сообщить модератору
 Re: Отрицание Update  [new]
vborets
Member

Откуда:
Сообщений: 166
Pabl0,
Я думаю так будет точнее

update #Temp
set Color = 'ff8e8e'
where Approval <> 4 and
[ID] in (select [ID] from #ApprovalsMax WHERE [Type] = 1 and NOT (author = @userID or author = @otdel))
26 фев 16, 15:13    [18867884]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить