MySQL - 在多个WHERE语句中匹配LIKE语句中的参数

时间:2018-02-12 04:30:11

标签: mysql

我想使用两个LIKE语句对数据库运行查询。

例如

SELECT row FROM table WHERE field1 LIKE 'value_%_topic' AND field2 LIKE 'value_%_name'

我希望能够匹配%' d参数,以便匹配value_1_topic和value_1_name的行将返回,但value_2_topic和value_3_name不会。

这可能吗?

我使用ACF的转发器字段对WordPress wp_postmeta表运行此操作。

2 个答案:

答案 0 :(得分:0)

我宁愿使用substring_index函数来实现这个目的:

SELECT row FROM table 
WHERE SUBSTRING_INDEX(field1,'_',0)='value_' 
AND SUBSTRING_INDEX(field2,'_',0)='value_' 
AND SUBSTRING_INDEX(field1,'_',1)=SUBSTRING_INDEX(field2,'_',1) 
AND SUBSTRING_INDEX(field1,'_',-1)='topic'
AND SUBSTRING_INDEX(field2,'_',-1) ='name';

答案 1 :(得分:0)

可能是这样的吗?

SELECT customerid, ordertype, countoforders FROM TABLE_1 WHERE TABLE_1.customerid NOT IN (SELECT customerid FROM #lookup)