Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Buat tabel pesanan yang dikelompokkan berdasarkan user_id yang menjumlahkan jumlah produk

Saya tidak yakin mengapa Anda menggunakan subquery di select . Anda juga memilih kolom yang tidak Anda inginkan/butuhkan.

Apakah ini melakukan apa yang Anda inginkan?

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;

Saya harus berspekulasi tentang dari mana beberapa kolom berasal, karena pertanyaan Anda tidak eksplisit.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa memformat MySQL TIMEDIFF tanpa detik?

  2. Ubah TIME_STAMP lokal ke waktu UTC

  3. Cara Membuat Peringkat Di Atas Partisi di MySQL

  4. MYSQL:JIKA memiliki kondisi OR ®EXP cocok

  5. Tampilkan tabel dengan LIKE dan NOT REGEXP