mysql获取字符左侧的字符串,并将其与另一列进行比较
我正在运行这个sql查询mysql获取字符左侧的字符串,并将其与另一列进行比较,mysql,string-comparison,string-split,Mysql,String Comparison,String Split,我正在运行这个sql查询 SELECT DISTINCT a.user_login, a.user_email, c.domain FROM wp_users a JOIN wp_usermeta b ON a.id = b.user_id JOIN wp_blogs c ON b.meta_value = c.site_id WHERE meta_key = 'primary_blog' and ORDER BY `a`.`ID` ASC LIMIT 0 , 100 结果 user_
SELECT DISTINCT a.user_login, a.user_email, c.domain
FROM wp_users a
JOIN wp_usermeta b ON a.id = b.user_id
JOIN wp_blogs c ON b.meta_value = c.site_id
WHERE meta_key = 'primary_blog' and
ORDER BY `a`.`ID` ASC
LIMIT 0 , 100
结果
user_login user_email domain
abc xys@example.com laskdlasd.com
cdestefano cdestefano@example.com kaskdjkasjdkasd
fran fran@example.com kasdllasdlasd
我只需要其中用户登录不等于@之前的字符串的行,即从上面的结果中,我只需要下面的行
abc xys@example.com laskdlasd.com
我尝试了下面的代码,但它不起作用
SELECT DISTINCT a.user_login, a.user_email, c.domain
FROM wp_users a
JOIN wp_usermeta b ON a.id = b.user_id
JOIN wp_blogs c ON b.meta_value = c.site_id
WHERE meta_key = 'primary_blog'
AND a.user_login != LEFT( a.user_email, LOCATE( '@', a.user_email ) )
ORDER BY `a`.`ID` ASC
LIMIT 0 , 100
如何获得所需的结果?将此添加到
WHERE
子句中
AND SUBSTRING(REPLACE(user_email, user_login, ''), 1, 1) <> '@'
和子字符串(替换(用户电子邮件,用户登录),1,1)@
试试看
SELECT *
FROM wp_users a
JOIN wp_usermeta b ON a.id = b.user_id
JOIN wp_blogs c ON b.meta_value = c.site_id
WHERE user_login != substring_index(user_email,'@',1)