您好,我正在尝试使用以下sql语句选择仅具有特定角色的用户。。。
SELECT DISTINCT ID, u.user_login, u.user_nicename, u.user_email
FROM wp_users u, wp_usermeta m
WHERE m.meta_key = \'wp_capabilities\'
AND m.meta_value LIKE \'%supplier%\'
ORDER BY u.user_registered
然而,它却把整张桌子都弄脏了。我做错了什么?
PS这需要是一个SQL选择,因为我正在myphpadmin中执行此操作,以将数据导出到csv。
提前感谢!
最合适的回答,由SO网友:EAMann 整理而成
仔细检查SQL语法。听起来你想做一个JOIN
... 但您没有正确构建查询。
它应该更像:
SELECT u.ID, u.user_login, u.user_nicename, u.user_email
FROM $wpdb->users u
INNER JOIN $wpdb->usermeta m ON m.user_id = u.ID
WHERE m.meta_key = \'wp_capabilities\'
AND m.meta_value LIKE \'%supplier%\'
ORDER BY u.user_registered
您必须告诉查询您是如何将用户元与用户关联的。
还请注意,我正在使用$wpdb->
而不是wp_
. 如果您希望在数据库前缀不是“wp”的站点上的插件中使用此查询,那么这一点很重要但是,如果您直接在SQL中运行东西,则应该切换回原来的状态。