有多种选择的SQL CASE LIKE

马特乌斯·科诺佩尔斯基(Mateusz Konopelski)

在我的查询中,我有以下部分代码:

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中找不到如何使用它们。

您如何看待这个问题?

阿米尔·拉希米·法拉哈尼(Amir Rahimi Farahani)

如果这些选择是已知的,请将它们放在表中并使用联接:

SELECT Field1, c.Category
FROM MainTable 
LEFT JOIN Choices c ON Field1 LIKE ('%' + c.Choice + '%')

更新:
如果一个类别中包含子字符串,请DISTINCT在此查询中添加

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL,Chere内含Like的Case

来自分类Dev

SQL,where内含Like的Case

来自分类Dev

SQL Server:将CASE与LIKE一起使用

来自分类Dev

SQL Server:将CASE与LIKE一起使用

来自分类Dev

LISTAGG 操作期间带有 LIKE 的 CASE 语句

来自分类Dev

SQL选择语句LIKE IN

来自分类Dev

Mysql SELECT CASE LIKE给出NULL行

来自分类Dev

SQL具有“ CASE列x IN(选择语句)”的语句

来自分类Dev

sql选择where like选项没有模

来自分类Dev

选择带有 like 和 not like MySql 的值时出错

来自分类Dev

带有OR的SQL CASE语句?

来自分类Dev

T-SQL-空CASE +选择

来自分类Dev

SQL选择LIKE,查找相似之处

来自分类Dev

选择带有CASE语句的数据

来自分类Dev

在“ SELECT CASE”中使用“ LIKE”不起作用-MySQL

来自分类Dev

如何在CASE语句中使用REGEXP_LIKE?

来自分类Dev

在“ SELECT CASE”中使用“ LIKE”不起作用-MySQL

来自分类Dev

Django ORM 条件过滤器 LIKE CASE WHEN THEN

来自分类Dev

where 子句中的 case 语句使用 not like 和 is not null

来自分类Dev

选择与CASE不同-PostgreSQL

来自分类Dev

MySQL Case选择查询

来自分类Dev

选择___where __Like ___

来自分类Dev

选择___where __Like ___

来自分类Dev

sqlite(LIKE或LIKE)与LIKE取得不同的结果(选择)

来自分类Dev

选择带有CASE语句的SQL Server 2008 R2

来自分类Dev

oracle sql-选择带有多个“ case when”的语句,并检查是否包含文本

来自分类Dev

T-SQL:选择具有来自fieldName列(PIVOT,CASE)的列的表

来自分类Dev

选择带有CASE语句的SQL Server 2008 R2

来自分类Dev

SQL CASE错误输出