我需要查询Member_Code
,member_name
和Designation
查询。如果用户只给member_Code
查询应该带所有记录取决于member_code
,或者用户给出member_code
和member_Name
带记录取决于代码和名称。我使用多个如果和其他,如果在SQL服务器。Sqlserver查询
我需要完美的查询这种情况。
我需要查询Member_Code
,member_name
和Designation
查询。如果用户只给member_Code
查询应该带所有记录取决于member_code
,或者用户给出member_code
和member_Name
带记录取决于代码和名称。我使用多个如果和其他,如果在SQL服务器。Sqlserver查询
我需要完美的查询这种情况。
鉴于缺乏信息,这是关于我能做的最好的。
尝试像
SELECT *
FROM [Table]
WHERE (
Member_Code = @Member_Code
AND @member_name IS NULL
)
OR (
Member_Code = @Member_Code
AND member_name LIKE '%' + @member_name + '%'
)
可以在SQLSERVER使用LIKE
尝试这样的事情
SELECT *
FROM table
WHERE (Member_Code LIKE + '%' + @Member_Code+ '%') OR
(member_name LIKE + '%' + @member_name+ '%') OR
(Designation LIKE + '%' + @Designation + '%')
你不需要最后的OR :) – Madhivanan 2012-07-11 05:45:16
对不起,我只是把代码切成了我的坏:) – 2012-07-11 05:46:49
这是你可能需要什么
select
columns
from
your_table
where
([email protected]_Code or @Member_Code is null) and
([email protected]_name or @member_name is null) and
([email protected] or @Designation is null)
请粘贴SQL查询和你的SQL DDL表结构,没有那个,任何人都很难帮助你。 – Luxspes 2012-07-11 05:36:52