使用单次选择选择多个wp_postmeta键

时间:2017-04-26 作者:ken Williams

这是我的桌子。我只是想要一个select语句,它返回优惠券代码、max\\u uses和times\\u used。我不知道如何加入这一切来做到这一点。

mysql> select * from wp_postmeta where post_id = \'207717\';
+---------+---------+------------------------+-------------------------------+
| meta_id | post_id | meta_key               | meta_value                    |
+---------+---------+------------------------+-------------------------------+
|  795679 |  207717 | coupon_code            | emeraldcity                   |
|  795689 |  207717 | max_uses               | 30                            |
|  795699 |  207717 | start_date             | 2016-07-22                    |
|  795704 |  207717 | _end_date              | WPMUDEV_Field_Datepicker      |
|  795705 |  207717 | _edit_lock             | 1492003198:1                  |
|  913311 |  207717 | times_used             | 22                            |
+---------+---------+------------------------+-------------------------------+
例如,这让我知道max\\u使用的是什么。

mysql> select * from wp_postmeta where post_id = \'207717\' and meta_key = \'max_uses\';
+---------+---------+----------+------------+
| meta_id | post_id | meta_key | meta_value |
+---------+---------+----------+------------+
|  795689 |  207717 | max_uses | 30         |
+---------+---------+----------+------------+

2 个回复
SO网友:Welcher

如果您使用get_post_meta() 只需使用第一个参数(post ID),您就可以获得传递ID的所有post meta的数组。您将获得比预期更多的内容,但您可以使用任意数量的方法来获取所需的数据。

$post_meta = get_post_meta( 207717 )

SO网友:Oleg Butuzov

您可以使用IN 条款

mysql> select * from wp_postmeta where post_id = \'207717\' and meta_key IN ( \'max_uses\', \'coupon_code\');
+---------+---------+-------------+-------------+
| meta_id | post_id | meta_key    | meta_value  |
+---------+---------+-------------+-------------+
|  795679 |  207717 | coupon_code | emeraldcity |                   
|  795689 |  207717 | max_uses    | 30          |
+---------+---------+-------------+-------------+