gpt4 book ai didi

mysql - 在 Wordpress usermeta 上加入查询

转载 作者:搜寻专家 更新时间:2023-10-30 23:41:07 24 4
gpt4 key购买 nike

我们都喜欢 wordpress,对吧?

所以我不得不使用基本上具有这种结构的 usermeta 表。

umeta_id | user_id | meta_key | meta_value

由于某些原因,几个内部开发人员插件在这张表上写了很多额外的信息,最近我赢得了使用它的责任,并提取了一些我需要导出并保存在实际制作的结构中的重要信息对 Web 应用程序有意义。

举个例子,这是我能找到的那种数据:

umeta_id | user_id | meta_key | meta_value
1 | 1 | ourID | asdad878d7a
2 | 1 | country | fooland
3 | 1 | firstname| foo
4 | 1 | lastname | bar

我想创建一个类似于此结构的结果:

user_id  | ourID       | country
1 | asdad878d7a | fooland

我尝试了一些东西,但实际上我也不习惯这种结构。

到目前为止,这是我的查询:

SELECT meta.umeta_id as umeta_id, meta.user_id as user_id, channel.meta_value as ourID, country.meta_value as country
FROM usermeta as meta
INNER JOIN usermeta as channel
INNER JOIN usermeta as country
WHERE channel.meta_key = 'ourID'
AND country.meta_key = 'country'

但是结果基本上是有问题的。我有很多相同 user_id 的副本,分配给 user_id 的每一行都有一个副本,但只报告所选字段而不是值。虽然这很有意义,但我不知道如何正确编写此查询。

像这样:

umeta_id | user_id | ourID       | country 
1 | 51424 | UC6Y94UM6rj | United Kingdom
1 | 51424 | UC6Y94UM6rj | Italy
1 | 51424 | UC6Y94UM6rj | Italy
1 | 51424 | UC6Y94UM6rj | Italy
1 | 51424 | UC6Y94UM6rj | Croatia
1 | 51424 | UC6Y94UM6rj | United States
1 | 51424 | UC6Y94UM6rj | Croatia

很明显,我做错了什么,我在这里希望有人能帮助我理解如何正确运行这种查询,而不是让别人完成查询。

最佳答案

这会让您更接近您正在寻找的东西吗?

SELECT meta.umeta_id as umeta_id, meta.user_id as user_id, meta.meta_value as ourID, country.meta_value as country
FROM usermeta as meta
INNER JOIN usermeta as country ON meta.user_id = country.user_id
WHERE meta.meta_key = 'ourID'
AND country.meta_key = 'country'

逻辑是首先找到具有meta_key 'ourID' 的条目。 user_idourID 的值是从这个条目中提取的,因此内部连接只需要合并 country 的值。 INNER JOIN 中的 ON 条件选择正确的国家条目。

关于mysql - 在 Wordpress usermeta 上加入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090443/

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