У меня есть процедура хранения, которая получает гендерное значение, которое может быть мужчиной, женщиной или и тем, и мне нужно иметь возможность условия my where, чтобы, если значение @gender равно " то выбор должен возвращать мужчин и женщин, но если пол является либо мужчиной, либо женщиной, тогда необходимо выбрать значение @gender. Я попробовал ниже запрос, и он дает неверную синтаксическую ошибку для где.sql server using where with if else condition
выберите FirstName, SecondName, пол, раса, высота, HeightUnit, вес, WeightUnit, EmailAdd из добровольцев
IF @gender = 'both'
BEGIN
WHERE Gender = 'male' or Gender ='female'
END ELSE BEGIN
WHERE Gender = @gender
END
я не получаю дикие карты, используемые в Мале% ... Насколько я знаю, есть только два пола: мужчина или женщина ... – Maverick
Вы не можете поставить инструкцию IF в предложение WHERE, подобное этому ... либо вы используете Dynamic SQL, который был бы излишним, либо вы используете дело. – logixologist