gpt4 book ai didi

php - MYSQL:选择与另一个表的多行相关的条目

转载 作者:行者123 更新时间:2023-11-29 04:08:52 24 4
gpt4 key购买 nike

我在数据库中有两个表:

  • 条目(ID、距离、状态[,...])
  • entriesmeta(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 子句,但没有成功。我想知道是否有人可以提供帮助。

提前谢谢你 - 抱歉我的英语不好。

最佳答案

SELECT  e.ID
FROM entries e
INNER JOIN entriesmeta m
ON e.ID = m.entry_id
WHERE
m.metakey = 'service' AND
m.metavalue IN (7,13,9,27)
GROUP BY e.ID
HAVING COUNT(DISTINCT m.metavalue) = 4

此查询将显示所有 IDmetakeyservice7, 13, 9, 27 的值 (s) .

关于php - MYSQL:选择与另一个表的多行相关的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18969188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com