SQL在具有多个关键字的多列中搜索

时间:2019-01-18 20:11:10

标签: mysql sql

我有一个前端表单,其中包含两个名为“名称”和“位置”的字段。在我的数据库中,我有一个名为“ postmeta”的表,其中包含列(meta_id,meta_key,meta_value)。当用户提交前端表单时,我要搜索此表中的两个字段值。类似地,“名称”字段将在“ meta_value”中查找值,其中“ meta_key”等于“ company_name”,类似地,“ location”字段将在同一“ meta_value”列中查找其值,但其中“ meta_key”等于“ company_location” “。

最后,当结果为最终结果时,如果“ meta_key”仅等于“ company_name”,我希望它按“ meta_value”字段对数据进行分组。

我设法生成了这样的SQL查询。

SELECT meta_value FROM postmeta
 WHERE (meta_key = 'company_name' AND meta_value LIKE '%apple%')
 OR (meta_key = 'company_location' AND meta_value LIKE '%paris%')
 GROUP BY meta_value
 ORDER BY meta_value

我希望公司名称中包含关键字的所有结果,例如“苹果”和公司位置包含关键字,例如“巴黎”,但GROUP仅按公司名称显示。

0 个答案:

没有答案