如何直接从 Wordpress 数据库中选择用户 ID、名字和姓氏?

Ste*_*ven 0 mysql wordpress

我正在创建一个用于在 Wordpress 中搜索用户的自动建议。
问题是名字和姓氏存储为 meta_key。

所以“正常”搜索是不可能的。

我可能需要做两个查询。可以做一个JOIN吗?

这是我不成功的第一次尝试:

SELECT user_id, first_name, last_name 
FROM wp_usermeta
WHERE (meta_key='first_name' OR meta_key='last_name' OR meta_key = 'user_email') 
AND LOWER(meta_value) LIKE '%jon%'
Run Code Online (Sandbox Code Playgroud)

Ste*_*ven 6

我找到了答案。我不确定这是否是最好的,但它有效:

SELECT a.id, b1.meta_value AS first_name, b2.meta_value as last_name
FROM wp_users a
INNER JOIN wp_usermeta b1 ON b1.user_id = a.ID AND b1.meta_key = 'first_name' 
INNER JOIN wp_usermeta b2 ON b2.user_id = a.ID AND b2.meta_key = 'last_name'
WHERE (b1.meta_value LIKE '%st%' OR b2.meta_value LIKE '%st%' OR a.user_email LIKE '%st%')
Run Code Online (Sandbox Code Playgroud)