usermeta} WHERE (({$wpdb->userme-6ren">
gpt4 book ai didi

mysql - Wordpress Usermeta 选择多个键和值

转载 作者:行者123 更新时间:2023-11-29 18:28:45 25 4
gpt4 key购买 nike

尝试检索所有满足 3 个条件的 user_id。

我的代码是

$sql = "
SELECT user_id
FROM {$wpdb->usermeta}
WHERE (({$wpdb->usermeta}.meta_key = 'job_title' AND {$wpdb-
>usermeta}.meta_value = '".$job_title."') OR
({$wpdb->usermeta}.meta_key = 'pmpro_bstate' AND {$wpdb-
>usermeta}.meta_value = '".$state."') OR
({$wpdb->usermeta}.meta_key = 'pmpro_baddress2' AND {$wpdb-
>usermeta}.meta_value = '".$suburb."'))
GROUP BY
user_id
HAVING
COUNT(DISTINCT meta_key)=3";

值和变量是否需要 Lower() 才能准确比较它们?

有没有更有效的方法来执行此查询?

干杯

最佳答案

使用 INNER JOIN 来做到这一点要好得多:

$sql = "SELECT u.ID
FROM wp_users u
INNER JOIN wp_usermeta m1 ON u.ID = m1.user_id AND m1.meta_key = 'job_title'
INNER JOIN wp_usermeta m2 ON u.ID = m2.user_id AND m2.meta_key = 'pmpro_bstate'
INNER JOIN wp_usermeta m3 ON u.ID = m3.user_id AND m3.meta_key = 'pmpro_baddress2'
WHERE m1.meta_value = '".$job_title."'
AND m2.meta_value = '".$state."'
AND m3.meta_value = '".$suburb."'"

关于mysql - Wordpress Usermeta 选择多个键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911548/

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