2012-07-11 95 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