Ubah kondisi Anda menjadi ini sebagai gantinya:
where (@LastName = 'All' and 1=1) or (LastName = @LastName)
Idenya adalah ketika @LastName
='Semua' maka kueri Anda seharusnya tidak memiliki filter apa pun. Kondisi 1=1 akan selalu benar, dan bersama dengan pemeriksaan lainnya akan mengembalikan semua hasil. Jalur lain yang dapat diambil kueri adalah memfilter berdasarkan Nama Belakang tertentu, yang seharusnya mengecualikan nilai nol.
Pembaruan:Kondisi 1=1 berlebihan. Anda dapat menulis ulang kondisinya sebagai:
where (@LastName = 'All') or (LastName = @LastName)