我需要在查询中检查Member_Code
,member_name
和Designation
。如果用户仅提供member_Code
查询,则应将所有记录都依赖于member_code
,或者用户提供member_code
和member_Name
使记录取决于代码和名称。我在sql server中使用了多个if和else if。
我需要对这种情况进行完美查询。
答案 0 :(得分:1)
您可以在SQLSERVER中使用LIKE
尝试这样的事情
SELECT *
FROM table
WHERE (Member_Code LIKE + '%' + @Member_Code+ '%') OR
(member_name LIKE + '%' + @member_name+ '%') OR
(Designation LIKE + '%' + @Designation + '%')
答案 1 :(得分: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 + '%'
)
答案 2 :(得分: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)