我有 wp_postmeta 表,例如:
meta_id post_id meta_key meta_value
--------------------------------------------
4175 1347 name Dubovka
4176 1347 type agro
4177 1347 region 1
4181 1348 name Victoria
4181 1348 type hotel
4181 1348 region 2
如果我知道名称、类型、区域的值,如何获取唯一的帖子 ID? 它需要在查询中使用 JOIN。
最佳答案
这样就可以了:
SELECT post_id FROM wp_postmeta
GROUP BY post_id
HAVING SUM(
(meta_key = 'name' AND meta_value = 'Dubovka') +
(meta_key = 'type' AND meta_value = 'agro') +
(meta_key = 'region' AND meta_value = '1')
) = 3
输出:
| POST_ID |
|---------|
| 1347 |
fiddle here .
请考虑到您想要在括号之间匹配的每个条件都意味着您必须增加 SUM
比较的单位。在本例中,3 个条件意味着我将 SUM
与 3 进行比较。
关于php - 如何获取具有不同键条件的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20037653/