Mysql 检索所有元组,但不包括具有子查询的元组
我想检索具有相同国家名称的所有用户,但除了该用户之外,我正在与其他用户进行比较。这个查询给我一个错误,子查询返回多行。在这方面,任何人都可以帮助我Mysql 检索所有元组,但不包括具有子查询的元组,mysql,sql,database,Mysql,Sql,Database,我想检索具有相同国家名称的所有用户,但除了该用户之外,我正在与其他用户进行比较。这个查询给我一个错误,子查询返回多行。在这方面,任何人都可以帮助我 SELECT * FROM users u, address a WHERE a.email=u.email AND a.country LIKE (SELECT country FROM address WHERE NOT (email = 'ta@gmail.com')); 我以前不明白你的问题。试试这个 SELECT * FROM users
SELECT * FROM users u, address a WHERE a.email=u.email AND a.country LIKE (SELECT country FROM address WHERE NOT (email = 'ta@gmail.com'));
我以前不明白你的问题。试试这个
SELECT * FROM users s
JOIN address a on a.email = u.email
WHERE a.country in(SELECT country from address where email = 'ta@gmail.com')
AND a.email != 'ta@gmail.com'
试试这个:
SELECT * FROM users u, address a
WHERE a.email=u.email
AND u.email != 'ta@gmail.com'
AND a.country IN (SELECT country FROM address WHERE email ='ta@gmail.com');
或
尝试使用IN而不是likery将like替换为inb,但现在它不会根据国家/地区过滤数据ta@gmail.com“但现在它没有根据国家过滤数据”ta@gmail.com“我从你那里了解到,结果应包含来自任何国家/地区的所有用户,但带有电子邮件地址的用户的国家/地区除外ta@gmail.com'. 这就是你想要的吗?不,我想要的是所有与ta@gmail.com“但我不想要”ta@gmail.com'显示在结果中。我已编辑了答案。请尝试一下,看看它是否有效!dave提供的答案对我很有用。多亏了你们,但现在它并没有根据国家过滤数据ta@gmail.com'
select *
from users u, address a
where a.email=u.email
and a.country = (select country from address where email = 'ta@gmail.com')
and u.email <> 'ta@gmail.com'
select *
from users u, address a,
(select country from address where email = 'ta@gmail.com') c
where a.email=u.email
and a.country = c.country
and u.email <> 'ta@gmail.com'