-4

我需要检查Member_Codemember_name查询Designation。如果用户只给member_Code查询应该带所有记录依赖member_code,或者用户给member_codemember_Name带记录依赖于代码和名称。我在 sql server 中使用了多个 if 和 else if。

对于这种情况,我需要完美的查询。

4

3 回答 3

1

您可以LIKE在 SQLSERVER中使用

尝试这样的事情

SELECT       *
FROM            table
WHERE        (Member_Code LIKE + '%' + @Member_Code+ '%') OR
                         (member_name LIKE + '%' + @member_name+ '%') OR
                         (Designation LIKE + '%' + @Designation + '%') 
于 2012-07-11T05:40:53.070 回答
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 + '%'
        )
于 2012-07-11T05:39:59.417 回答
0

这是您可能需要的

select 
    columns 
from 
    your_table
where 
    (Member_Code=@Member_Code or @Member_Code is null) and
    (member_name=@member_name  or @member_name  is null) and 
    (Designation=@Designation  or @Designation is null)
于 2012-07-11T05:44:19.637 回答