Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo một bảng đơn đặt hàng được nhóm theo user_id, tổng số lượng sản phẩm

Tôi không chắc tại sao bạn lại sử dụng truy vấn con trong select . Bạn cũng đang chọn các cột mà bạn không muốn / cần.

Điều này có làm được những gì bạn muốn không?

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;

Tôi đã phải suy đoán xem một số cột đến từ đâu, vì câu hỏi của bạn không rõ ràng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLException:Không thể truy xuất máy chủ trạng thái chỉ đọc chuyển đổi

  2. Chọn ngày từ db của tôi mà không cần giây bằng PHP MySql

  3. Hành vi kỳ lạ Kết nối cơ sở dữ liệu Laravel Homestead

  4. Sắp xếp dữ liệu dựa trên Dấu thời gian mysql + PHP

  5. Nhận hầu hết các hàng tương tự trong bảng MySQL và sắp xếp chúng theo độ tương tự