我想加入WooCommerce创建的后期元字段,以便在一行中显示客户的名字和姓氏。
mysql的表结构如下:
meta_id post_id meta_key meta_value
======= ======= ======= ===========
1234 1874 _billing_first_name John
1235 1874 _billing_last_name Cobe
现在我希望它使用mysql语句返回以下结果
post_id _billing_first_name _billing_last_name
======= ==================== ==================
1874 John Cobe
期待您的建议和帮助。
感谢。
答案 0 :(得分:5)
如果meta_key有两个固定值,可以使用以下内容:
SELECT
post_id,
MAX(CASE WHEN meta_key='_billing_first_name' THEN meta_value END) _billing_first_name,
MAX(CASE WHEN meta_key='_billing_last_name' THEN meta_value END) _billing_last_name
FROM
yourtable
GROUP BY
post_id
答案 1 :(得分:0)
查看PIVOT功能。我认为这对你来说非常有用 以下是SQL Fiddle
中的示例SELECT * FROM ( SELECT post_id, meta_key, meta_value FROM table_name WHERE post_id = 1874 ) as x PIVOT ( MAX(meta_value) FOR meta_key IN ([_billing_first_name], [_billing_last_name]) ) as p