mysql - SQL 查询以从 wp_usermeta 中检索结合两个元键和值的用户

标签 mysql sql database wordpress

我有一个 Wordpress 站点,用户可以在其中注册为不同语言的教师或学生。

我现在正尝试通过 phpMyAdmin 搜索所有注册为 French teachers 的用户,但我不知道应该使用哪个查询。

注册为教师的用户的元键 wp_capabilities 的元值是 a:1:{s:16:"cliente_profesor";b:1;}

如果他/她教法语,她/他的 meta_key idioma_registro 的 meta_value 为 2

这就是我尝试在查询中组合该信息的方式:

SELECT `user_id` FROM `wp_usermeta` WHERE (`meta_key` LIKE 'idioma_registro' AND `meta_value` LIKE '2') AND (`meta_key` LIKE 'wp_capabilities' AND `meta_value` LIKE 'a:1:{s:16:"cliente_profesor";b:1;}');

运行查询时的结果是“0”,但我知道网站上注册了 20000 多名法语教师。所以我对这个查询做错了。

在此先感谢您能为我提供的任何帮助!

最佳答案

我在 Stackexchange 中找到了解决方案 thanks to Brent .

这是我要找的代码:

SELECT u.ID, u.display_name
FROM wp_users AS u
LEFT JOIN wp_usermeta AS um1 ON u.ID = um1.user_id
LEFT JOIN wp_usermeta AS um2 ON u.ID = um2.user_id
WHERE  um1.meta_key = 'idioma_registro' AND um1.meta_value = '2'
AND um2.meta_key = 'wp_capabilities' AND um2.meta_value = 'a:1:{s:16:"cliente_profesor";b:1;}'

希望能帮到更多人!

关于mysql - SQL 查询以从 wp_usermeta 中检索结合两个元键和值的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49796670/

相关文章:

mysql - 使用 docker-compose 时未在 MySQL 中创建用户

php - mySQL INNER JOIN 具有相同列名的非常大的表

mysql - 多列多重计​​数

sql - 如何使用MS SQL 2008获取数据库中的表列表?

database - 为什么 neo4j 查询返回的东西乱序,我该如何整理东西?

php、mysql数据转换

sql - regexp_replace的性能与在Oracle中翻译的性能有关?

用于更新数据库中 'open' 或 'close' 状态的 PHP 脚本存在一些我无法弄清楚的错误

database - Postgres : Table is shown using\d but shows syntax error while dropping the table

mysql - 强制 auto_increment 跳过某些值?