我在数据库中有两个表:
- 条目(ID、距离、状态[、...])
- entrymeta(ID,entry_ID,元键,元值)
到目前为止,我选择这样的条目:
SELECT ID,
distance
FROM entries
WHERE status = '2' HAVING distance < 30
ORDER BY distance
LIMIT 20
现在,第二个表包含这种类型的数据:
ID | entry_ID | metakey | metavalue
1 | 137 | service | 13
2 | 137 | service | 7
3 | 137 | service | 76
4 | 84 | service | 23
etc.
第一个表中的条目是餐馆,第二个表中的服务是他们提供的服务。我现在一直在尝试的是:创建一个 HTML 搜索表单,让用户通过复选框选择某些服务。然后,MYSQL 查询应该选择提供所有这些服务的所有条目。到目前为止,搜索表单将所选服务放入一个数组 (7,13,9,27) 中。
我的问题是找到正确的数据库查询。它应该将元值字段与复选框数组匹配,然后从提供所有这些服务的第一个表中选择所有条目。我一直在尝试“LEFT JOIN ON entries.ID = entriesmeta.entry_ID”和几个 WHERE 子句,但没有成功。我想知道是否有人可以提供帮助。
提前谢谢你 - 很抱歉我的英语不好。