Good, although you updated the answer. I took your example, and I did this:
SELECT p.ID,
p.post_title,
pm.meta_value as 'value1',
pma.meta_value as 'value2'
FROM wp_posts p
INNER JOIN wp_postmeta AS pm ON pm.post_id = p.ID
INNER JOIN wp_postmeta AS pma ON pma.post_id = p.ID
WHERE
pma.meta_key = 'custom_field_key_1' AND
pm.meta_key = 'custom_field_key_2' AND
p.post_type = 'your_post_type' AND
p.post_status = 'publish'
So, here I use an alias ASfor values located in the same table, INNER JOINfor wp_postmetaand post_idthat’s all.
References:
Several internal members of the same table
Through this, you will get an array with messages and custom fields you selected:
array(1) {
[0]=> object(stdClass)#341 (4) {
["ID"]=> string(1) "1123"
["post_title"]=> string(15) "Your post title"
["custom_field_key_1"]=> string(12) "Your value 1 "
["custom_field_key_2"]=> string(29) "Your value 2"
}
You can add as many aliases and meta_key as you need. Hope this help!
source
share