php - 如何获取具有不同键条件的行

标签 php mysql wordpress

我有 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/

相关文章:

php - 从添加到使用 SQL 查询数组的 foreach 循环的输入元素中捕获/插入特定值

php - 使用 Zend 框架进行连接更新

php - 获取具有相同值的 MySQL 单元的合并总数 :

php - mysql 触发日期

Wordpress Multisite - 这是个好主意吗?

php - 移动wordpress站点后无法访问此站点

php - 在 localhost xampp os x 上建立数据库连接时出错

javascript - 亚马逊支付与 Javascript 和 PHP 的集成 - PaymentPlanNotSet

php - 在 PHP 中从 ipa 中提取嵌入式配置文件

java - Android:通过 TCP Java Socket 传输文件