1

我想加入 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

期待您的建议和帮助。

谢谢。

4

2 回答 2

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
于 2013-04-05T09:54:10.253 回答
0

看一下PIVOT函数。我认为它会为你完美地工作。
这是SQL Fiddle中的一个示例

选择 *
从
(
  选择 post_id、meta_key、meta_value
  FROM table_name WHERE post_id = 1874
) 作为 x
枢
(
  MAX(元值)
  FOR meta_key IN ([_billing_first_name], [_billing_last_name])
) 作为 p
于 2013-04-05T10:24:47.770 回答