我需要查詢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