我正在尝试使用以下内容获取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@example
101 41 phone 666666666
102 41 firstname Name
103 41 lastname Lastname
如何只用一个查询选择电子邮件,电话,名字和姓氏的值,以便在我的PHP文件中“回显”它。 尝试使用UNION,在第一个SELECT中使用SELECT ...并且它们不输出我想要的内容。
谢谢!
答案 0 :(得分: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()
)。