Mysql stringset的灵活搜索查询?
请查找以下查询: 表名:B 查询:从{B}中选择*Mysql stringset的灵活搜索查询?,mysql,sql,hybris,Mysql,Sql,Hybris,请查找以下查询: 表名:B 查询:从{B}中选择* ID comp 1 d,e,f 我想使用SQL/Flexible搜索查询检查comp中是否存在值“f” 是否可以为此场景编写sql查询 更新: SELECT DISTINCT {b:pk} FROM {A AS a left join B as B on {a:ncode} = {b:ncode} and {a:qCode} = {b:qCode}} WHERE {a:compID} IN () 假设a:compI
ID comp
1 d,e,f
我想使用SQL/Flexible搜索查询检查comp中是否存在值“f”
是否可以为此场景编写sql查询
更新:
SELECT DISTINCT {b:pk} FROM {A AS a left join B as B on {a:ncode} = {b:ncode} and {a:qCode} = {b:qCode}}
WHERE
{a:compID} IN ()
假设a:compID是f
在IN运算符之后,我的子查询应该是什么才能达到我的要求?这将起作用:
SELECT FIND_IN_SET('f',(SELECT comp FROM t));
如果要检查是否存在,则:
SELECT case when FIND_IN_SET('f',(SELECT comp FROM t))=0 then'not present'
else 'present' end from dual;
您可以在mysql中进行字符串搜索: //完整搜索:
SELECT * FROM A WHERE comp LIKE '%f%'
//从f开始
SELECT * FROM A WHERE comp LIKE '%f'
//以f结尾
SELECT * FROM A WHERE comp LIKE 'f%'
以上查询在我的情况下不起作用,因为我使用的是hybris flexible search queryWhile此代码可能会解决OP的问题,但最好添加上下文,或者解释为什么您的代码会解决问题。通过这种方式,未来的访问者可以学习,并将其应用于他们自己的问题。高质量的答案更有可能被提升,而竞争性答案则保持了SO平台的高质量。
SELECT * FROM {B} where {comp} LIKE '%,f,%'