используя или в MySQL и объединяя столбцы - PullRequest
0 голосов
/ 23 апреля 2010

Я могу выбрать, используя или с оператором SQL

select f.userid, f.friend_userid from friends f where userid = 1 or friend_userid = 1;

теперь либо userid, либо friend_userid возвращает 1.

Я хочу, чтобы два столбца, т. Е. Userid и friend_userid, были объединены

в один столбец без 1 такой, что отображается только одна строка ...

вывод, который я получаю ...

ИД пользователя | friend_userid

1 | 2

1 | 7

1 | 5

12 | 1

24 | 1

Я хочу отображаться как ...

1026 * идентификатор *

2

7

5

12

24

Я использую mysql ....

Спасибо

Прадют
Индия

Ответы [ 3 ]

1 голос
/ 23 апреля 2010

Похоже, вы хотите соединение, вероятно, LEFT JOIN, между двумя экземплярами таблицы friends. Если поля, отличные от userid и friend_userid, скажем, a и b (вы не говорите нам, и невозможно угадать:

SELECT f.a, f.b, f1.a, f1.b
FROM friends f
LEFT JOIN friends f` ON (f.userid = f1.friend_userid)
WHERE f.userid = 1
0 голосов
/ 23 апреля 2010

Итак, вам нужен столбец friend_userid, где выполняется условие «UserId = 1» и столбец UserId, когда выполняется условие «friend_userid = 1». Напишите следующий запрос:

select f.friend_userid as userId from friends f where f.userid = 1 
UNION
select f.userid as userId from friends f where f.friend_userid = 1;

И вы получаете то, что хотели.

0 голосов
/ 23 апреля 2010

с sql

 select f.userid, f.friend_userid from friends f where userid = 1 or friend_userid = 1;

вывод, который я получаю ...

ИД пользователя | friend_userid

1 | 2

1 | 7 * * +1010

1 | 5

12 | 1

24 | 1

Я хочу отображаться как ...

1020 * идентификатор *

2

7

5

12

24


спасибо
Pradyut

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