- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我们都喜欢 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_id
和 ourID
的值是从这个条目中提取的,因此内部连接只需要合并 country
的值。 INNER JOIN
中的 ON
条件选择正确的国家条目。
关于mysql - 在 Wordpress usermeta 上加入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090443/
我已经添加并使用了来自 user_custom_hash 的 USERMETA 字段(称为: wp_usermeta ) table 。意思是我去过 Insert/Edit/Deleting某处代码中
我有一个不寻常的问题。 当我在 Wordpress 后端创建新用户时,似乎没有在数据库中创建 _usermeta 信息。 通常会发生的事情是将一行添加到 _users 表(包含 ID、电子邮件、密码等
尝试检索所有满足 3 个条件的 user_id。 我的代码是 $sql = " SELECT user_id FROM {$wpdb->usermeta} WHERE (({$wpdb->userme
我们有一个包含大量插件的 WordPress 网站,它经常在 usermeta 表上触发更新查询,我们已停用所有插件,但查询仍在触发。下面提到了查询,它通常在访问网站管理员时触发。 UPDATE `w
如何使用下拉选择值创建新的用户元字段? 我想为所有用户创建一个条件语句,其中包含我想要的新自定义字段的特定值。 例如, 新字段将是:已批准下拉值是:是和否 条件语句将识别所有 Approved 字段值
我们都喜欢 wordpress,对吧? 所以我不得不使用基本上具有这种结构的 usermeta 表。 umeta_id | user_id | meta_key | meta_value 由于某些原因
我正在尝试根据名为“points”的 meta_key 显示所有用户,如下所示: $wpdb->get_col($wpdb->prepare(" SELECT user_id, meta_key =
我的 Wordpress 数据库中有一个额外的表,其结构如下所示 CREATE TABLE `rsvp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` i
我相信这对你们所有人来说都很容易,但这对我来说是全新的。 基本上,我想检查登录用户是否在其个人资料中附加了特定的元数据,网站上是否会显示某些内容。 用户的元数据存储在 wp_usermeta 表中,该
我使用的是 mysql,我有两个表格如下: User: user_id - user_name - phone UserMeta: user_meta_id - user_id - meta_key
我正在使用“用户注册”中添加的重力形式。它为用户添加了额外的元数据字段。随着时间的推移,我猜想所做的更改已经创建了比需要的更多的元数据。 有“mail-a”、“mail-A”和“Mail_A”等字段。
我认为这是一个交叉表作业,但我没有看到它!在Wordpress usermeta表中,数据是这样的: | userid | meta_key | meta_value | 123 | grant
我已经添加了“add_user_meta($userid,'last_login',$current_login_time);”代替“update_user_meta($ userid,'last_l
我正在尝试在我使用 Eloquent 检索数据的自定义脚本中访问用户的 first_name(实际上在 Laravel 5 中) 所以, 这里是我如何定义关系(一对多)//是正确的吗?? Wp Gur
我想说的是,我正在开发一个项目,我需要保存一些用户和发布数据(用户ID和帖子ID),当用户执行特定操作时,他的数据(帖子ID和用户ID)将保存在数据库(postmeta)中,然后使用 wp_query
我是一名优秀的程序员,十分优秀!