запрос не возвращает ожидаемых результатов - PullRequest
0 голосов
/ 03 апреля 2012

Этот запрос не возвращает ожидаемых результатов:

 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 ]

2 голосов
/ 03 апреля 2012

Вы не можете выполнять такие запросы, как (и получать желаемый результат)

username = 'X' or 'Y'

Вам либо нужно сделать

username = 'X' OR username = 'Y'

Или

username IN ('X', 'Y')
0 голосов
/ 03 апреля 2012

Я думаю, что синтаксис, который вы ищете:

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», поскольку они возвращают более одного результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...