我有表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 |
小提琴here。
请注意,要在方括号之间匹配的每个条件都意味着您必须增加
SUM
比较的单位。在这种情况下,3个条件意味着我将SUM
与3相比较。关于php - 如何获得具有不同键条件的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20037653/