gpt4 book ai didi

mysql - Wordpress SQL - 多个 WHERE 子句

转载 作者:行者123 更新时间:2023-11-29 12:47:52 25 4
gpt4 key购买 nike

好吧,自从我上次写 SQL 查询以来已经有一段时间了。我有以下查询

$user_search->query_where = 
str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.ID IN (
SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta
WHERE {$wpdb->usermeta}.meta_key = 'select_team_leader'
AND {$wpdb->usermeta}.meta_value = {$user_leader})",
$user_search->query_where
);

我想添加一个 OR 语句,例如

OR {$wpdp->usermeta}.user_id = {$user_leader}

我需要为此使用内部联接吗?谢谢

最佳答案

不,您不需要使用额外的联接,您只需组织查询以查找用户 ID 或元值

$user_search->query_where = 
str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.ID IN (
SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta
WHERE {$wpdb->usermeta}.meta_key = 'select_team_leader'
AND
(
{$wpdb->usermeta}.meta_value = {$user_leader}
OR {$wpdp->usermeta}.user_id = {$user_leader}
)
)",
$user_search->query_where
);

所以上面的查询将查找meta_value是否等于提供的值,即。 {$user_leader} 或 user_id 等于 {$user_leader} 但与 meta_key 匹配的任何内容都应该是 select_team_leader

根据评论进行编辑

$user_search->query_where = 
str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.ID IN (
SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta
WHERE (
{$wpdb->usermeta}.meta_key = 'select_team_leader'
AND {$wpdb->usermeta}.meta_value = {$user_leader}
)
OR {$wpdp->usermeta}.user_id = {$user_leader}
)",
$user_search->query_where
);

关于mysql - Wordpress SQL - 多个 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25201680/

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