Stored procedures 返回不必要行的多条件WHERE子句

Stored procedures 返回不必要行的多条件WHERE子句,stored-procedures,sql-server-2012,Stored Procedures,Sql Server 2012,在下面的存储过程中,我想返回标志列中没有DEL的行。当我返回结果时,将包括DEL行。我在我的WHERE子句中做错了什么(我假设它就是这样的) 我怀疑您需要一些额外的参数,以您想要的方式分割逻辑: WHERE (sender_id = (SELECT person_id FROM auth_key WHERE key = @Key) OR recipient_id = (SELECT person_id FROM auth_key WHERE key = @Key)) AND Flag != 'D

在下面的存储过程中,我想返回
标志
列中没有
DEL
的行。当我返回结果时,将包括
DEL
行。我在我的
WHERE
子句中做错了什么(我假设它就是这样的)


我怀疑您需要一些额外的参数,以您想要的方式分割逻辑:

WHERE (sender_id = (SELECT person_id FROM auth_key WHERE key = @Key)
OR recipient_id = (SELECT person_id FROM auth_key WHERE key = @Key))
AND Flag != 'DEL'
WHERE (sender_id = (SELECT person_id FROM auth_key WHERE key = @Key)
OR recipient_id = (SELECT person_id FROM auth_key WHERE key = @Key))
AND Flag != 'DEL'