2016-10-07 33 views
0

下面配合不同的數據是該表的數據怎麼看起來像如何在SQL中使用相同的POST_ID

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

下面是使用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

+0

但是當我運行此代碼時,它顯示空值 –

+0

@AmarArya - 請進一步解釋。如果您返回了'null'值,那麼您沒有針對該帖子的該條件的對應行。這是一個表'pivot'的通用版本。 – sgeddes

+0

我在回答字段中包含該表格的圖像。請看一看。 –

0

這是圖像表和列的外觀

[請看圖] [1] [1]:http://i.stack.imgur.com/4ppkK.png

這裏miglad_firstname和所有的meta_key這些值已經重複,但是meta_value是不同的。

相關問題