在我的查询中,我有以下部分代码:
CASE WHEN Field1 LIKE '%choice1%' OR Field1 LIKE '%Choice1%' .... THEN 'category 1'
WHEN Field1 LIKE '%choicea%' OR Field1 LIKE '%Choiceb%' .... THEN 'category 2'
END AS 'Cats'
我有许多选择(1行约20行),(2行约15行,继续)。
我可以做一些使我的代码更整洁的事情,而我通常会这样做IN
吗?
例子:
CASE WHEN Field1 IN LIKE ('%choice1'.'%choice2%',...) THEN 'category 1'
WHEN Field1 IN LIKE ('%choicea'.'%choiceb%',...) THEN 'category 2'
END AS 'Cats'
附言:我听说我可以以某种方式使用它们,||
但是我在Google中找不到如何使用它们。
您如何看待这个问题?
如果这些选择是已知的,请将它们放在表中并使用联接:
SELECT Field1, c.Category
FROM MainTable
LEFT JOIN Choices c ON Field1 LIKE ('%' + c.Choice + '%')
更新:
如果一个类别中包含子字符串,请DISTINCT
在此查询中添加。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句