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

Permintaan SQL untuk mendapatkan semua produk, kategori, dan data meta woocommerce/wordpress

Anda memiliki object_id bergabung ke term_taxonomy_id yang tidak masuk akal.

Begini menurut saya -- peringatan:Saya tidak pernah menanyakan database wp dan hanya mengikuti dokumentasi.

SELECT 
  p.ID,
  p.post_title,
  `post_content`,
  `post_excerpt`,
  t.name AS product_category,
  t.term_id AS product_id,
  t.slug AS product_slug,
  tt.term_taxonomy_id AS tt_term_taxonomia,
  tr.term_taxonomy_id AS tr_term_taxonomia,
  MAX(CASE WHEN pm1.meta_key = '_price' then pm1.meta_value ELSE NULL END) as price,
  MAX(CASE WHEN pm1.meta_key = '_regular_price' then pm1.meta_value ELSE NULL END) as regular_price,
  MAX(CASE WHEN pm1.meta_key = '_sale_price' then pm1.meta_value ELSE NULL END) as sale_price,
  MAX(CASE WHEN pm1.meta_key = '_sku' then pm1.meta_value ELSE NULL END) as sku 
FROM wp_posts p 
LEFT JOIN wp_postmeta pm1 ON pm1.post_id = p.ID
LEFT JOIN wp_term_relationships AS tr ON tr.object_id = p.ID
JOIN wp_term_taxonomy AS tt ON tt.taxonomy = 'product_cat' AND tt.term_taxonomy_id = tr.term_taxonomy_id 
JOIN wp_terms AS t ON t.term_id = tt.term_id
WHERE p.post_type in('product', 'product_variation') AND p.post_status = 'publish' AND p.post_content <> ''
GROUP BY p.ID,p.post_title


  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 ::Jalankan pernyataan SQL dalam Variabel

  2. Cara Mengamankan MySQL:Bagian Satu

  3. Kolom yang dipilih tidak memiliki tipe yang kompatibel, meskipun memiliki tipe yang sama

  4. Kunci yang ditentukan Laravel terlalu panjang saat membuat tabel notifikasi

  5. Bagaimana cara menghitung semua nilai NULL dalam sebuah tabel?