woocommerce 的 SQL 查询

问题描述 投票:0回答:1

我构建了一个 woocommerce SQL 查询来列出所有产品及其重要值。

这是我的查询:

SELECT 
p.ID,
p.post_type as Art,
p.post_title AS Produkt,
p.post_excerpt AS Beschreibung,
t.name AS Produzent,

MAX(CASE WHEN pm1.meta_key = 'faktor' then pm1.meta_value ELSE NULL END) as Faktor,
MAX(CASE WHEN pm1.meta_key = 'produzentenvergleich' then pm1.meta_value ELSE NULL END) as PV,
MAX(CASE WHEN pm1.meta_key = 'einkaufspreis' then pm1.meta_value ELSE NULL END) as EP,
MAX(CASE WHEN pm1.meta_key = '_regular_price' then pm1.meta_value ELSE NULL END) as RegPreis,
MAX(CASE WHEN pm1.meta_key = 'variationspreis' then pm1.meta_value ELSE NULL END) as VarPreis,
MAX(CASE WHEN pm1.meta_key = '_purchase_note' then pm1.meta_value ELSE NULL END) as Liefertermin,
MAX(CASE WHEN pm1.meta_key = '_stock_status' AND pm1.meta_value = 'instock' then 'Ja' END) as lieferbar,
MAX(CASE WHEN pm1.meta_key = 'produzenten_bestellvorgabe' then pm1.meta_value ELSE NULL END) as Vorgabe,
MAX(CASE WHEN pm1.meta_key = 'durchschnittsgewicht' then pm1.meta_value ELSE NULL END) as ø Gewicht, 
MAX(CASE WHEN pm1.meta_key = '_alg_wc_pq_min' then pm1.meta_value ELSE NULL END) as Min_Menge,
MAX(CASE WHEN pm1.meta_key = '_alg_wc_pq_max' then pm1.meta_value ELSE NULL END) as Max_Menge,
MAX(CASE WHEN pm1.meta_key = '_alg_wc_pq_default' then pm1.meta_value ELSE NULL END) as Def_Menge,
MAX(CASE WHEN pm1.meta_key = '_alg_wc_pq_step' then pm1.meta_value ELSE NULL END) as Step_Menge,
MAX(CASE WHEN pm1.meta_key = '_unit' then pm1.meta_value ELSE NULL END) as Unit,
MAX(CASE WHEN pm1.meta_key = '_sale_price_label' then pm1.meta_value ELSE NULL END) as Preis_Label


FROM KtS4szE8u_posts p 
LEFT JOIN KtS4szE8u_postmeta pm1 ON pm1.post_id = p.ID
LEFT JOIN KtS4szE8u_term_relationships AS tr ON tr.object_id = p.ID
JOIN KtS4szE8u_term_taxonomy AS tt ON tt.taxonomy = 'product_cat' AND tt.term_taxonomy_id = tr.term_taxonomy_id 
JOIN KtS4szE8u_terms AS t ON t.term_id = tt.term_id

WHERE p.post_type = 'product' AND p.post_status = 'publish' AND substring(p.post_title,1,12) <> 'Mindermengen' and substring(p.post_title,1,9) <> 'Glaspfand' and substring(p.post_title,1,16) <> 'Mitgliedsbeitrag' and substring(p.post_title,1,10) <> 'Barzahlung' and substring(p.post_title,1,1) <> '€' and substring(p.post_title,1,9) <> 'Umbuchung' and  substring(p.post_title,1,7) <> 'Gutschr'
GROUP BY p.ID,p.post_title

这个查询工作正常,但我还需要一个带有产品标签的列。 如何将其添加到我的查询中?

谢谢你 齐格弗里德

sql database woocommerce tags
1个回答
0
投票

感谢您的帮助。 我对SQL不是那么坚定。 我将以下几行更改为我的代码,但没有得到任何结果。

 SELECT 
  p.ID,
  p.post_type as Art,
  p.post_title AS Produkt,
  p.post_excerpt AS Beschreibung,
  t.name AS Produzent,
  t2.name AS Gruppe,

  MAX(CASE WHEN pm1.meta_key = 'faktor' then pm1.meta_value ELSE NULL END) as Faktor,
  MAX(CASE WHEN pm1.meta_key = 'einkaufspreis' then pm1.meta_value ELSE NULL END) as EP,
  MAX(CASE WHEN pm1.meta_key = '_regular_price' then pm1.meta_value ELSE NULL END) as RegPreis,
  MAX(CASE WHEN pm1.meta_key = '_purchase_note' then pm1.meta_value ELSE NULL END) as Liefertermin,
  MAX(CASE WHEN pm1.meta_key = '_stock_status' AND pm1.meta_value = 'instock' then 'Ja' END) as lieferbar,
  MAX(CASE WHEN pm1.meta_key = 'durchschnittsgewicht' then pm1.meta_value ELSE NULL END) as ø Gewicht, 
  MAX(CASE WHEN pm1.meta_key = 'woodecimalproduct_min_qnt' then pm1.meta_value ELSE NULL END) as Min_Menge,
  MAX(CASE WHEN pm1.meta_key = 'woodecimalproduct_max_qnt' then pm1.meta_value ELSE NULL END) as Max_Menge,
  MAX(CASE WHEN pm1.meta_key = 'woodecimalproduct_item_qnt' then pm1.meta_value ELSE NULL END) as Def_Menge,
  MAX(CASE WHEN pm1.meta_key = 'woodecimalproduct_step_qnt' then pm1.meta_value ELSE NULL END) as Step_Menge,
  MAX(CASE WHEN pm1.meta_key = '_unit' then pm1.meta_value ELSE NULL END) as Einheit,
  MAX(CASE WHEN pm1.meta_key = '_sale_price_label' then pm1.meta_value ELSE NULL END) as Preis_Label



FROM KtS4szE8u_posts p 

LEFT JOIN KtS4szE8u_postmeta pm1 ON pm1.post_id = p.ID
LEFT JOIN KtS4szE8u_term_relationships AS tr ON tr.object_id = p.ID
LEFT JOIN KtS4szE8u_term_relationships AS tr2 ON tr2.object_id = p.ID
JOIN KtS4szE8u_term_taxonomy AS tt ON tt.taxonomy = 'product_cat' AND tt.term_taxonomy_id = tr.term_taxonomy_id 
JOIN KtS4szE8u_terms AS t ON t.term_id = tt.term_id
JOIN KtS4szE8u_term_taxonomy AS tt2 ON tt.taxonomy = 'product_tag' AND tt2.term_taxonomy_id = tr2.term_taxonomy_id 
JOIN KtS4szE8u_terms AS t2 ON t2.term_id = tt2.term_id

WHERE p.post_type = 'product' AND p.post_status = 'publish' AND substring(p.post_title,1,12) <> 'Mindermengen' and substring(p.post_title,1,9) <> 'Glaspfand' and substring(p.post_title,1,16) <> 'Mitgliedsbeitrag' and substring(p.post_title,1,10) <> 'Barzahlung' and substring(p.post_title,1,1) <> '€' and substring(p.post_title,1,9) <> 'Umbuchung' and  substring(p.post_title,1,7) <> 'Gutschr'


   GROUP BY p.ID,p.post_title

致以诚挚的问候 齐格弗里德

© www.soinside.com 2019 - 2024. All rights reserved.