Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie SQL, aby uzyskać wszystkie produkty, kategorie i metadane woocommerce/wordpress

Masz object_id dołączanie do term_taxonomy_id co nie miało sensu.

Oto, jak myślę, że powinno być — zastrzeżenie:nigdy nie pytałem o bazę danych wp i po prostu przeglądałem dokumentację.

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. PHP - łączenie się z bazą danych mysql z innego serwera

  2. Zapytanie mySQL - pokaż najpopularniejszy element

  3. Przewijalny/aktualizowany zestaw wyników MySQL nie działa zgodnie z oczekiwaniami

  4. Jak przetestować pusty wynik SQL w ASP

  5. Zmień wszystkie tabele w bazie danych