元数据表(例如wp_postmeta)有许多不同的键和值,每个键都包含在不同的行中,但每个键都与相同的帖子ID相关联。
我想为每个post_id创建一个单独的数组,该数组包含使用查询的关联数组中的每个meta_values和meta_keys。
我尝试了什么
$orderdetails = $wpdb->get_results("
SELECT meta1.post_id
, meta1.meta_value AS Company
, meta2.meta_value AS Volunteers
, meta3.meta_value AS Date
, meta4.meta_value AS City
, meta5.meta_value AS Created
FROM wp2_postmeta meta1
, wp2_postmeta meta2
, wp2_postmeta meta3
, wp2_postmeta meta4
, wp2_postmeta meta5
WHERE meta1.meta_key LIKE '_billing_company'
AND meta1.meta_value = '$order_company'
AND meta2.meta_key LIKE 'additional_volunteers'
AND meta2.post_id = meta1.post_id
AND meta3.meta_key LIKE '_paid_date'
AND meta3.post_id = meta1.post_id
AND meta4.meta_key LIKE '_billing_city'
AND meta4.post_id = meta1.post_id
AND meta5.meta_key LIKE '_created_via'
AND meta5.post_id = meta1.post_id
", OBJECT_K);
为什么我要改进这个
上面的查询确实有效,但看起来不够优雅,因为它很长并且为每个meta_value分别引用相同的表。关于如何改进它的任何想法都非常感谢。
答案 0 :(得分:1)
您可以使用pivot语法在没有所有连接的情况下执行此操作。
<br>