0
В хранимой процедуре, приведенной ниже, я хочу вернуть строки, которые не имеют DEL
в столбце Flag
. Когда я получаю результат назад, строки DEL
включены. Что я делаю неправильно в своей статье WHERE
(я предполагаю, что это так)?Множественное условие WHERE, возвращающее ненужные строки
ALTER PROCEDURE [dbo].[GetAllMessages]
-- Add the parameters for the stored procedure here
@Key varchar(30)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT message.msg_id,
message.tenant_id,
message.sender_id,
message.recipient_id,
message.recipient_email,
message.description,
message.date_recorded,
message.filename,
message.size_bytes,
message.size_time,
message.filepath,
message.Flag,
message.title,
message.date_activity,
member.member_image_url
FROM message
INNER JOIN member
ON message.sender_id = member.person_id
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'
END