我正在使用MYSQL,需要提取用户数据以将其拉入视图。我将在电子邮件客户端中使用数据,因此无法在应用程序层中执行此操作。
问题在于用户的每个数据字段都包含在单独的行中(这是Wordpress设置数据结构的方式)。
例如,wp_usermeta对于每个用户都有多行数据,如下所示:
user_id meta_key meta_data 2 first_name Jane 2 last_name Austin 2 email jane@me.com 3 first_name Jack 3 last_name Palmer 3 email jack@me.com
我需要将数据合并为一行,分别是几个字段,如下所示:
user_id first_name last_name email 2 Jane Austin jane@email.com 3 Paul Parker jack@email.com
我四处搜寻,在任何地方都找不到这个确切的问题(我发现了很多串联,但这不是我所需要的)。
如果您仅关注这些列,那么它将为您工作:
SELECT um.user_id , fn.meta_data AS first_name , ln.meta_data AS last_name , e.meta_data AS email FROM wp_userMeta AS um LEFT JOIN wp_user_Meta AS fn ON um.user_id = fn.user_id AND fn.meta_key = 'first_name' LEFT JOIN wp_user_Meta AS ln ON um.user_id = ln.user_id AND ln.meta_key = 'last_name' LEFT JOIN wp_user_Meta AS e ON um.user_id = e.user_id AND e.meta_key = 'email'