¿Cómo escribir la statement de caso de SQL equivalente para la consulta dada a continuación?

Esta es mi consulta de trabajo:

Query = "select Cust_Id,Card_Number,Clients_Title,Address_Current,Phone_Number,Mobile_Number from Customer_New Where 1=1"; try { if (txt_title.Text != "") Query += " and Clients_Title Like '%" + txt_title.Text + "%'"; if (txt_address.Text != "") Query += " and Address_Current Like '%" + txt_address.Text + "%'"; if (txt_phone.Text != "") Query += " and Phone_Number Like '%" + txt_phone.Text + "%'"; if (txt_mobile.Text != "") Query += " and Mobile_Number Like '%" + txt_mobile.Text + "%'"; if (cbo_location.Text != "") Query += " and AreaLocation Like '%" + cbo_location.Text + "%'"; } catch { } 

Aquí estoy intentando escribir su statement de caso de SQL equivalente.

 SELECT Cust_Id, Clients_Title, Card_Number, Key_Person, Address_Current, Phone_Number, Mobile_Number, AreaLocation FROM Customer_New WHERE 1 = CASE WHEN @Clients_Title != " " THEN Clients_Title AND WHEN @Address_Current != " " THEN Address_Current AND WHEN @Phone_Number != " " THEN Phone_Number AND WHEN @Mobile_Number != " " THEN Mobile_Number AND WHEN @AreaLocation != " " THEN AreaLocation END 

¿Alguien puede corregir mi statement de caso?

Creo que solo quieres esto, no se requiere CASE :

 SELECT Cust_Id, Clients_Title, Card_Number, Key_Person, Address_Current, Phone_Number, Mobile_Number, AreaLocation FROM Customer_New WHERE (@Clients_Title = '' OR Clients_Title LIKE '%'+@Clients_Title+'%') AND (@Address_Current = '' OR Address_Current LIKE '%'+@Address_Current+'%') AND (@Phone_Number = '' OR Phone_Number LIKE '%'+@Phone_Number+'%') AND (@Mobile_Number = '' OR Mobile_Number LIKE '%'+@Mobile_Number+'%') AND (@AreaLocation = '' OR AreaLocation LIKE '%'+@AreaLocation+'%') 

Porque eso al less se parece mucho a tu código que no es SQL.

 SELECT Cust_Id, Clients_Title, Card_Number, Key_Person, Address_Current, Phone_Number, Mobile_Number, AreaLocation FROM Customer_New where (CASE WHEN @Clients_Title != '' THEN Clients_Title=@Clients_Title ELSE NULL IS NULL END) AND(CASE WHEN @Address_Current != '' THEN Address_Current =@Address_Current ELSE NULL IS NULL END) AND(CASE WHEN @Phone_Number != '' THEN Phone_Number=@Phone_Number ELSE NULL IS NULL END) AND(CASE WHEN @Mobile_Number != '' THEN Mobile_Number=@Mobile_Number ELSE NULL IS NULL END) AND(CASE WHEN @AreaLocation != '' THEN AreaLocation =@AreaLocation ELSE NULL IS NULL END)