मुझे यकीन नहीं है कि आप select
. में सबक्वायरी का उपयोग क्यों कर रहे हैं . आप उन स्तंभों का भी चयन कर रहे हैं जिनकी आपको आवश्यकता नहीं है।
क्या यह वही करता है जो आप चाहते हैं?
select p.user_id,
max( CASE WHEN pm.meta_key = '_billing_first_name' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_first_name,
max( CASE WHEN pm.meta_key = '_billing_last_name' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_last_name,
max( CASE WHEN pm.meta_key = '_billing_address_1' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_address_1,
group_concat(distinct oi.order_item_name separator '|' ) as order_items
from wp_posts p join
wp_postmeta pm
on p.ID = pm.post_id join
wp_woocommerce_order_items oi
on p.ID = oi.order_id
where p.post_type = 'shop_order' and
p.post_status = 'wc-completed' and
oi.order_item_name = 'Product Name'
group by p.user_id;
मुझे इस बारे में अनुमान लगाना पड़ा कि कुछ कॉलम कहाँ से आते हैं, क्योंकि आपका प्रश्न स्पष्ट नहीं है।