Я работаю с хранимой процедурой в SQL Server 2005. Возможно ли использовать соединение, если только параметр не равен нулю? Ниже приведен пример запроса:SQL Conditional Join (с параметром/без параметра) в хранимой процедуре
ALTER PROCEDURE [dbo].[SPSample]
@gender varchar(20) = null
@username varchar(20) = null
AS
SELECT
per.firstName,
per.lastName,
per.gender
FROM person per
INNER JOIN account ac on ac.idPerson = per.idPerson
WHERE (
gender = @gender
AND (@username is null or (@username is not null and @username = acc.username))
Как сделать INNER JOIN
работает только если @username
не равно нулю? Каков наилучший подход для получения ожидаемого результата?
Ваш вопрос не ясен. – Sukanya
@ Сукания, какая часть вам непонятна? – Andha
Что на самом деле вы хотели знать, что было неясно .. – Sukanya