在MySQL中结合两行将数据显示为一行

1 php mysql join

我想加入WooCommerce创建的后元字段,以便在一行中显示客户端的名字和姓氏.

mysql的表结构如下:

meta_id    post_id    meta_key                meta_value
=======    =======    =======                 ===========
1234       1874       _billing_first_name     John
1235       1874       _billing_last_name      Cobe
Run Code Online (Sandbox Code Playgroud)

现在我希望它使用mysql语句返回以下结果

post_id    _billing_first_name    _billing_last_name
=======    ====================   ==================
1874       John                   Cobe
Run Code Online (Sandbox Code Playgroud)

期待您的建议和帮助.

谢谢.

fth*_*lla 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
Run Code Online (Sandbox Code Playgroud)