meta_value 字段的内部联接

Inner join on a meta_value field

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

在下面的代码中,我需要将 'enrolment' 连接到 'wp_woocommerce_order_itemmeta' (OIM) table,其中 oim.meta_key='enrolment_id' 和 meta_value= 'enrolment' table.

中的id字段

wp_woocommerce_order_itemmeta的结构是

招生结构table是:

请注意,在我的示例中,我将 OIM table 字段从行转到列。

这是我目前拥有的:

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 ...

ON 子句中包含元键。

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