mysql - 使用多个关键字在多列中进行 SQL 搜索
问题描述
我有一个前端表单,其中包含两个名为“名称”和“位置”的字段。在我的数据库中,我有一个名为“postmeta”的表,其中包含列(meta_id、meta_key、meta_value)。当用户提交前端表单时,我想搜索此表中的两个字段值。“name”字段将在“meta_value”中查找值,其中“meta_key”等于“company_name”,类似地,“location”字段将在同一“meta_value”列中查找它的值,但“meta_key”等于“company_location” ”。
最后,当结果是最终结果时,我希望它通过“meta_value”字段对数据进行分组,前提是“meta_key”仅等于“company_name”。
我已经设法生成这样的 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
我想要公司名称包含关键字(例如“apple”)和公司位置包含关键字(例如“paris”)的所有结果,但 GROUP 仅按公司名称得出结果。
解决方案
推荐阅读
- sql - LAG 函数只取前一个日期而不是按确切顺序运行
- html - 如何在 iframe 中创建书签链接?
- python - 如何将熊猫系列变成矩阵?
- mongodb - 猫鼬搜索大小写字母
- scala - Spark:如何将列的 ArrayType 中的单列收集到不同的数组?
- python - 当值是列表时,在 Pandas 中获取唯一值
- php - 是否可以通过注释自动在学说实体上创建附加属性
- python - 如何将 Pandas 自相关图添加为子图?
- .net - 在 Powershell 中使用升级后的 FolderBrowserDialog(“Vista 风格”)
- r - 按类排列数据框列:字符前的数字