如何在sql中使用相同的post_id绑定不同的数据

时间:2016-10-07 02:19:47

标签: sql

以下是此表数据的外观如何

Post_id  |  P_key  | P_value
10       |  F_name | Amar
10       | l_name  | Arya
10       | country | India
11       | F_name  | Karan
11       | l_name  | Roy
11       | country | Nepal

我希望像这样在一行中显示相同的post_id细节

f_name  |  L_name | Country
Amar    | Arya    | India
Karan   | Roy     | Nepal

那么请你为我建议SQL查询。

2 个答案:

答案 0 :(得分:2)

这是使用conditional aggregation的一个选项:

select max(case when p_key = 'f_name' then p_value end) as f_name,
       max(case when p_key = 'l_name' then p_value end) as l_name,
       max(case when p_key = 'country' then p_value end) as country,
       post_id
from yourtable
group by post_id

这将为每个post_id返回一行。

答案 1 :(得分:0)

这是表格和列的外观图像

[请看图片] [1]      [1]:http://i.stack.imgur.com/4ppkK.png

此处,miglad_firstname和meta_key的所有值都已重复,但meta_value不同。