gpt4 book ai didi

mysql - Wordpress MySQL 在_users 上加入_usermeta

转载 作者:行者123 更新时间:2023-11-28 23:17:59 25 4
gpt4 key购买 nike

我是一个完全的 mysql 笨蛋,正在做我的第一个付费 wordpress 演出,我似乎无法弄清楚如何加入用户和 usermeta 表以获得我可以在我的 MYSQL-> 前端表插件中使用的友好结果。用户表布局是:

id | user_id | user     | password
------------------------------------
1 | 1 | x | yyyyyy
2 | 2 | xx | yyyyyy
3 | 3 | xxx | yyyyyy
4 | 4 | xxxx | yyyyyy
5 | 5 | xxxxx | yyyyyy
6 | 6 | xxxxxx | yyyyyy

用户元表布局是:

id | user_id | meta_key | meta_value
------------------------------------
1 | 1 | firstname| bob
2 | 1 | lastname | smith
3 | 1 | email | bob@smith.com
4 | 1 | phone | 123-456-7890
5 | 1 | Street | first street
6 | 1 | City | New York
.
.
.
25 | 2 |firstname | jane

我正在寻找的结果如下所示:

id | user_id     | name     | email   | phone  | street  |  city  |
-----------------------------------------------------------------
1 | 1 | x |
2 | 2 | xx |

如有任何帮助,我们将不胜感激。

编辑------------我到了这里,我似乎无法克服错误“MySQL 说:‘on 子句’中的未知列‘u.ID’”

select u.ID as name,
um.*
from wp_xxxxxx_users as u, wp_xxxxxx_usermeta as um
join (
select um.umeta_id,
max(case when meta_key='nickname' then meta_value end)as nickname,
max(case when meta_key='first_name' then meta_value end)as first_name
from wp_xxxxxx_usermeta as um
group by um.umeta_id)
um on u.ID=um.umeta_id

最佳答案

这称为枢轴。如果事先知道所需的 meta_keys,您可以使用条件聚合来实现这一点。

像这样:

select u.user as name,
um.*
from users u
join (
select user_id,
max(case when meta_key = 'email' then meta_value end) as email,
max(case when meta_key = 'phone' then meta_value end) as phone,
...
from usermeta
group by user_id
) um on u.user_id = um.user_id;

关于mysql - Wordpress MySQL 在_users 上加入_usermeta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43034093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com