2016-01-21 32 views
0

選擇不同的值,我試圖得到一個HTML表格:在同一列

User's first name | User's last name | Phone | Product he bought 

和我有一個表(含Woocommerce自動進行):

meta_id | post_id | meta_key | meta_value 

    100   41  email  [email protected] 
    101   41  phone  666666666 
    102   41  firstname  Name 
    103   41  lastname  Lastname 

我怎樣才能只需使用一個查詢來選擇電子郵件,電話,名字和姓氏的值,以便在我的PHP文件上「回顯」它。 用UNION嘗試,在第一個SELECT中選擇一個...並且他們不輸出我想要的東西。

謝謝!

回答

3

一種方法是使用條件彙總:

select post_id, 
     max(case when meta_key = 'firstname' then meta_value end) as firstname, 
     max(case when meta_key = 'lastname' then meta_value end) as lastname, 
     max(case when meta_key = 'phone' then meta_value end) as phone, 
     max(case when meta_key = 'email' then meta_value end) as email 
from t 
group by post_id; 

有條件的聚集使得它很容易增加新的列或重複鍵時,串聯在一起的值(提示:使用group_concat())。

+0

這就是我想要的!它的作品完美!謝謝!!! – Testor10