SELECT wp_terms.name AS 'Exam',
(SELECT wp_postmeta.meta_value
FROM wp_postmeta
WHERE wp_postmeta.meta_key in ('_order_total')),
wp.id,
wp_woocommerce_order_itemmeta.meta_value AS 'Product Id',
f.order_item_name,
(SELECT wp_postmeta.meta_value
FROM wp_postmeta
WHERE wp_postmeta.meta_key in ('_billing_email'))
FROM wp_term_taxonomy
INNER JOIN wp_terms ON wp_terms.term_id = wp_term_taxonomy.term_id
INNER JOIN wp_term_relationships ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
INNER JOIN wp_woocommerce_order_itemmeta ON wp_woocommerce_order_itemmeta.meta_value = wp_term_relationships.object_id
INNER JOIN (SELECT f.order_item_id,
f.order_id,
f.order_item_name
FROM wp_woocommerce_order_items f) f ON f.order_item_id = wp_woocommerce_order_itemmeta.order_item_id
INNER JOIN wp_postmeta ON wp_postmeta.post_id = f.order_id
INNER JOIN (SELECT wp.id,
FROM wp_posts wp
INNER JOIN wp_postmeta wm ON wp.id = wm.post_id
WHERE wp.post_type = 'shop_order'
AND wp.post_status = 'wc-completed' AND wm.meta_key = '_completed_date') wp ON wp.id = wp_postmeta.post_id
WHERE wp_term_taxonomy.taxonomy = 'product_cat'
AND wp_term_taxonomy.term_id IN (2825,2829,2833,2837,2844,2851,2847)
AND wp_woocommerce_order_itemmeta.meta_key = '_product_id'
AND wp_postmeta.meta_key IN ('_order_total','_billing_email')
上記のsqlクエリのthrowsサブクエリは複数の行エラーを返します。請求先住所を列に、受注合計を別の列に欲しい。どうやってするか?sqlサブクエリは1行以上のエラーを返します
は_billing_emailと_order_totalが1行だけですか?または選択したレコードごとに1つの値としてこれらの行をすべて結合したい場合は、wp_postmetaの左ジョイントをSelectに入れる代わりに (例: SELECT ...、_billing_email、FROM ..)にすることができます。 ( '_billing_email')内のwp_postmeta.meta_key)ON id = id .... –
返信ありがとう、_billing_emailと_order_total(返信ありがとうございました。同じテーブルに異なるメタ値を持つ異なるメタキーである。私は両方のメタ値を別の列に入れたい。 –
Oracleまたはmysql? – Aleksej