首页 > 解决方案 > 如何使用表中的数据作为 SQL 中键值的实体?

问题描述

我有一张如下表:

在此处输入图像描述

是否有任何 SELECT 查询以下列形式显示表格?

在此处输入图像描述

非常感谢。

标签: sqlselect

解决方案


您可以尝试以下代码:

SELECT post_id,
       (SELECT meta_value from test where meta_key='_total') AS _total,
       (SELECT meta_value from test where meta_key='_phone') AS _phone,
       (SELECT meta_value from test where meta_key='_address') AS _address 
FROM test
GROUP BY post_id

更新 由于该表包含更多 post_id,请检查以下更新。

SELECT post_id,
       (SELECT meta_value from test t2 where meta_key='_total' AND t1.post_id=t2.post_id) AS _total,
       (SELECT meta_value from test t2 where meta_key='_phone' AND t1.post_id=t2.post_id) AS _phone,
       (SELECT meta_value from test t2 where meta_key='_address' AND t1.post_id=t2.post_id) AS _address
FROM test t1
GROUP BY post_id

推荐阅读