2012-07-11 77 views
-4

我需要查詢Member_Code,member_nameDesignation查詢。如果用戶只給member_Code查詢應該帶所有記錄取決於member_code,或者用戶給出member_codemember_Name帶記錄取決於代碼和名稱。我使用多個如果和其他,如果在SQL服務器。Sqlserver查詢

我需要完美的查詢這種情況。

+5

請粘貼SQL查詢和你的SQL DDL表結構,沒有那個,任何人都很難幫助你。 – Luxspes 2012-07-11 05:36:52

回答

0

鑑於缺乏信息,這是關於我能做的最好的。

嘗試像

SELECT * 
FROM [Table] 
WHERE (
       Member_Code = @Member_Code 
      AND @member_name IS NULL 
     ) 
OR  (
       Member_Code = @Member_Code 
      AND member_name LIKE '%' + @member_name + '%' 
     ) 
1

可以在SQLSERVER使用LIKE

嘗試這樣的事情

SELECT  * 
FROM   table 
WHERE  (Member_Code LIKE + '%' + @Member_Code+ '%') OR 
         (member_name LIKE + '%' + @member_name+ '%') OR 
         (Designation LIKE + '%' + @Designation + '%') 
+0

你不需要最後的OR :) – Madhivanan 2012-07-11 05:45:16

+0

對不起,我只是把代碼切成了我的壞:) – 2012-07-11 05:46:49