如果filterFeatures等於「精簡版」,然後搜索此:
FeatureString LIKE '%" + lite + @"%' OR FeatureString LIKE '%" + bronze + @"%'
或者,如果filterFeatures等於「專業」,然後搜索此:
FeatureString LIKE '%" + professional + @"%' OR FeatureString LIKE '%" + gold + @"%'
我的想法是使用CASE語句,但可能有更好的解決方案?
FeatureString
是列名。
filterFeatures
是在FeatureString列中搜索的字符串。
'%" + bronze + @"%'
,'%" + lite+ @"%'
,'%" + professional+ @"%'
是定義的字符串。
如果我把OR
語句,然後它的作品。但是,如果「filterfeatures」等於lite
或professional
,則目標是搜索兩個參數。
當前查詢:
SELECT *
FROM[database]
WHERE
(
(FeatureString LIKE
CASE '%" + filterFeatures + @"%'
WHEN
('%" + lite + @"%')
THEN
('%" + lite + @"%' OR FeatureString LIKE '%" + bronze + @"%')
WHEN
('%" + professional + @"%')
THEN
('%" + professional + @"%' OR FeatureString LIKE '%" + gold + @"%')
ELSE
('%" + filterFeatures + @"%')
END)
)
錯誤消息:關鍵字 'OR' 鄰近
不正確的語法。
請讓我知道如果問題需要更具體。
你可以讓它使用OR語句嗎?因爲我們需要搜索two.THEN FeatureString LIKE'%lite%'或FeatureString LIKE'%bronze%' – Ophiucus