meta_value字段上的内部联接

时间:2019-03-30 16:36:43

标签: mysql sql woocommerce entity-attribute-value

我想对meta_value字段进行内部联接。

在以下代码中,我需要将“注册”加入“ wp_woocommerce_order_itemmeta”(OIM)表,其中oim.meta_key ='enrolment_id'和meta_value ='enrollment'表中的id字段。

wp_woocommerce_order_itemmeta的结构是

  • id
  • meta_key
  • meta_value

注册表的结构为:

  • id
  • 名字

请注意,在我的示例中,我将OIM表字段从行转换为列。

这是我到目前为止所拥有的:

SELECT 
  O.order_item_name,
  MAX(CASE WHEN OIM.meta_key = 'class' THEN OIM.meta_value END) AS 'class',
  MAX(CASE WHEN OIM.meta_key = 'fee-type' THEN OIM.meta_value END) AS 'fees',
  MAX(CASE WHEN OIM.meta_key = 'enrolment_id' THEN OIM.meta_value END) AS 'eid'
FROM wp_woocommerce_order_items O
INNER JOIN wp_woocommerce_order_itemmeta OIM ON O.order_item_id = OIM.order_item_id
INNER JOIN enrolment E ON ...

1 个答案:

答案 0 :(得分:1)

ON子句中包含元密钥。

...
INNER JOIN enrolment e
           ON e.id = oim.meta_value
              AND oim.meta_key = 'enrolment_id'
...