查询不返回预期结果

时间:2012-04-03 14:21:46

标签: mysql subquery

此查询未返回预期结果:

 select users.username,firstname,lastname,nickname,address,mobile,email,gender 
 from users
 where 
   username = (select userid from friends where friendid = 'ahmedhosni84')  OR
   (select friendid from friends where userid = 'ahmedhosni84');

我希望将有关朋友的所有信息都提供给指定的用户名,并且只获取第一个子查询,并且我想要获得两个子查询

2 个答案:

答案 0 :(得分:2)

您不能进行类似的查询(并获得所需的结果)

username = 'X' or 'Y'

你要么必须

username = 'X' OR username = 'Y'

或者

username IN ('X', 'Y')

答案 1 :(得分:0)

我认为您正在寻找的语法是:

select users.username,firstname,lastname,nickname,address,mobile,email,gender 
 from users
 where 
 username IN (select userid from friends where friendid = 'ahmedhosni84')
 or
 username IN (select friendid from friends where userid = 'ahmedhosni84');

编辑:使用“IN”作为这些返回多个结果。