Mysql
 sql >> база данни >  >> RDS >> Mysql

Генерирайте таблица с поръчки, групирани по user_id, която сумира количеството на продукта

Не съм сигурен защо използвате подзаявка в 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;

Трябваше да спекулирам откъде идват някои колони, защото въпросът ви не е изричен.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Колко колони можете да имате (максимум) в MySQL таблица?

  2. Терминологични ограничения на MySQL срещу разлика в външните ключове?

  3. Използване на Workbench за свързване към отдалечен MySQL сървър през SSH тунел

  4. MySQL с Node.js

  5. Как мога временно да деактивирам ограничение за външен ключ в MySQL?