【发布时间】:2019-03-30 18:07:56
【问题描述】:
我有一个围绕数据库中 meta_key 和 meta_value 字段的查询。它几乎就在那里,但是当我添加 INNER JOIN wp_enrolments 时,'class' 和 'fee-types' 现在返回 NULL。这就像它与 INNER JOIN wp_woocommerce_order_itemmeta 行冲突。
wp_woocommerce_order_itemmeta 的结构是
- 身份证
- 元密钥
- 元值
wp_enrolments 表的结构是:
- 身份证
- 名字
- 姓
- 等
如果您能看看我的语法并发现任何错误,我将不胜感激。
SELECT
O.order_item_id, O.order_item_name,
E.firstname,
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'
FROM wp_woocommerce_order_items O
INNER JOIN wp_woocommerce_order_itemmeta OIM ON O.order_item_id = OIM.order_item_id
INNER JOIN wp_enrolments E ON E.id = OIM.meta_value AND OIM.meta_key = 'enrolment_id'
GROUP BY O.order_item_id
【问题讨论】: