Skift din tilstand til denne i stedet:
where (@LastName = 'All' and 1=1) or (LastName = @LastName)
Tanken er, at når @LastName
='Alle', så skal din forespørgsel ikke have nogen filtre. Betingelsen 1=1 vil altid være sand, og sammen med den anden kontrol bør alle resultater returneres. Den anden sti, som forespørgslen kan tage, er filtrering efter et specifikt efternavn, som absolut bør udelukke null-værdier.
Opdatering:1=1 betingelsen er overflødig. Du kan omskrive betingelsen som:
where (@LastName = 'All') or (LastName = @LastName)